我得到这个错误:C++减少操作
Error 1 error C2678: binary '<' : no operator found which takes a left-hand operand of type 'const Data' (or there is no acceptable conversion)
但我的结构是这样定义的:
struct Data
{
String strData;
int intData;
double doubleData;
Data() : intData(-1), doubleData(-0.f)
{}
Data(const String& str, int i, double d) : strData(str), intData(i), doubleData(d)
{}
const bool operator<(const Data& rightData)
{
return strData < rightData.strData;
}
};
我觉得我有“<”操作,但是编译器告诉我不要”吨。
有一件事要提,现在我正在比较const Data
< Data
类型,也许那const
使一些坏事。
我认为这只是一个小的失误,但我就是不能看到它......
'const的布尔操作符<(常量数据与rightData)'应该是'布尔操作符<(常量数据与rightData)const' – 2014-10-28 09:22:18