它对我不起作用。
我有一个头文件和一个cpp文件。
需要定义一个从我的类到 INT 的转换运算符,但在 H 文件中声明它并在 cpp 文件中实现时它会给我“语法错误”。也许我的语法错误?
在我在“公共(public)”中的 H 文件中:
operator int();
在我的cpp文件中:
A::operator int() { return mNumber ;}
如果我在 H 文件中实现该功能,它就可以工作,但我不想那样做。
谁能帮忙?
最佳答案
我还想将类声明与实现分开。关键缺失的成分是 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
关于c++ - 如何在头文件中声明类型转换并在cpp文件中实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3015624/