【发布时间】:2010-06-10 15:03:37
【问题描述】:
它对我不起作用。
我有一个头文件和一个 cpp 文件。
需要定义一个从我的类到 INT 的转换运算符,但是在 H 文件中声明它并在 cpp 文件中实现时它给了我“语法错误”。也许我的语法错误?
在我在“公共”中的 H 文件中:
operator int();
在我的 cpp 文件中:
A::operator int() { return mNumber ;}
如果我在 H 文件中实现该功能,它可以工作,但我不想这样做。
谁能帮忙?
【问题讨论】:
-
我会使用
const的方法。不要认为它会影响问题,但在语义上我怀疑你的转换应该修改A。 -
你能发布错误信息吗?
-
假设
mNumber是一个int 成员变量,您发布的内容对我有用。正如@avakar 所说,请发布错误。 -
在 gcc 4.0.3 中编译良好。您收到什么错误消息?
-
您是否忘记在 cpp 文件中包含 h 文件?有时会发生这样的事情......但知道你遇到了什么错误真的很有帮助
标签: c++ type-conversion operator-overloading