我正在尝试这个非常简单的运算符重载问题,我不知道这个错误是什么。我
#include<iostream.h>
#include<conio.h>
using namespace std;
class Index
{
public:
int value;
Index()
{
value=2;
}
int getInd()
{
return value;
}
void operator++()
{
value=value*2;
}
}
int main()
{
Index v;
cout<<"v="<<v.getInd()<<endl;
++v;
cout<<"v="<v.getInd();
getch();
return 0;
}
这是错误:'operator&lt;'不匹配在'std :: operator&lt;&lt; [with _Traits = std :: char_traits](((std :: basic_ostream&gt;&amp;)(&amp; std :: cout)),((const char *)“v =”))&lt; (&amp; v) - &gt; Index :: getInd()'
为什么?它非常讨厌。
答案 0 :(得分:1)
这意味着你有一个错字。它应该是
cout<<"v="<<v.getInd();
与上面一行相同。