它对我不起作用。
我有一个头文件和一个cpp文件
需要在我的类中定义转换运算符到INT,但在H文件中声明它并在cpp文件中实现时,它会给我“语法错误”。也许我的语法错了?
在H文件中我有“公共”:
operator int();
并在cpp文件中我有:
A::operator int() { return mNumber ;}
如果我在H文件中实现它的功能,但我不想这样做。
有人可以帮忙吗?
答案 0 :(得分:2)
我还想将类声明与实现分开。关键的缺失成分是const
:
// Foobar.hpp
class Foobar
{
public:
Foobar() : _v(42) {}
operator int() const;
private:
int _v;
};
然后在实现文件中:
#include "Foobar.hpp"
Foobar::operator int() const
{
return _v;
}
请参阅此reference