【发布时间】:2015-10-04 15:59:24
【问题描述】:
我知道已经发布了很多关于运算符重载的问题,但是我无法让我的代码与我找到的任何示例一起使用。是的,我看过 this link,但我仍然无法理解这一点。
我试图仅重载前缀运算符,但我收到一条错误消息,指出后缀需要一个 int。我不是想修改后缀运算符。 我有一个 .h 文件和一个 .cpp 文件。在我的 .h 文件中,我有类似的内容:
class X{
public:
/* ... declarations of X ... */
X& operator--(X& x);
};
在我的 .cpp 文件中,我有类似的内容:
#include "X.h"
namespace X{
X& X::operator--(X& x){/*...*/}
}
谁能告诉我我做错了什么?
【问题讨论】:
-
您能否展示一个尝试使用您的函数的示例以及确切的编译器错误。
-
我个人避免操作符重载,因为它比它值得的麻烦更多
-
为什么cpp文件在X命名空间中有X类的成员函数?头文件中不是这种情况。
-
这是一个很好的例子learncpp.com/cpp-tutorial/…
标签: c++ operator-overloading decrement unary-operator