如何在C ++中为前向声明的类型实现一元运算符重载?
以下代码无法在Visual Studio 2008中编译。如果在Bar之前定义Foo1,我如何让它允许Foo1类中的一元运算符将其转换为Bar?
class Foo1
{
public:
int val;
operator struct Bar() const;
};
struct Bar
{
int val;
};
// This does not compile
Foo1::operator Bar() const
{
Bar x;
x.val = val;
return x;
}
没有找到相关结果
已邀请:
2 个回复
联课
拟蓬
要么:
(operator :: Bar()实现保持不变)