不匹配'operator<'在'std :: operator ....这是什么意思?

时间:2014-02-10 08:01:16

标签: c++ operators

我正在尝试这个非常简单的运算符重载问题,我不知道这个错误是什么。我

#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()'

为什么?它非常讨厌。

1 个答案:

答案 0 :(得分:1)

这意味着你有一个错字。它应该是

cout<<"v="<<v.getInd();

与上面一行相同。