我有一个自定义类,std::vector
填充了此类的对象。我想在这个数组中做binary_search
。
我在课堂上重载了这样的操作符:
bool operator ==(const someClass&);
bool operator > (const someClass&);
bool operator < (const someClass&);
他们工作正常(他们有尸体,是的)。
现在我有错误错误
2 error C2678: binary '<' : no operator found which takes a left-hand operand of type 'const someClass' (or there is no acceptable conversion)
我应该制作复制构造函数(已经过载=,但它没有帮助)或者向运营商添加其他东西吗?
感谢。
答案 0 :(得分:4)
你需要使运算符const:
bool operator < (const someClass&) const;
没有它,只有RHS是常量。