binary_search()需要自定义类比较

时间:2012-06-28 16:54:24

标签: c++ stl-algorithm binary-operators

我有一个自定义类,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)

我应该制作复制构造函数(已经过载=,但它没有帮助)或者向运营商添加其他东西吗?

感谢。

1 个答案:

答案 0 :(得分:4)

你需要使运算符const:

bool operator < (const someClass&) const;

没有它,只有RHS是常量。