【发布时间】:2016-06-20 19:06:18
【问题描述】:
我在使用一元 ++ 重载运算符时遇到问题。
这是我的代码...
#include<iostream>
using namespace std;
class Index{
int value;
public:
Index() : value(0) { }
int GetIndex() const
{
return value;
}
void operator ++()
{
value++;
}
};
int main()
{
Index idx1,idx2;
++idx1;
idx2++;
idx2++;
cout << "idx1.value:" << idx1.GetIndex() << endl;
cout << "idx2.value:" << idx2.GetIndex() << endl;
}
语句 idx2++ 给了我一个编译错误。但是前缀,即 ++idx1 工作正常。我所指的书说两者都应该给出相同的输出......即 value 成员必须增加1.
为什么我会遇到这个问题??...我使用的 IDE 是 Visual Studio 2015。
【问题讨论】:
-
example here 可能会有所帮助
标签: c++ visual-studio oop operator-overloading