0

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

我应该制作复制构造函数(已经重载=,但没有帮助)还是向运算符添加其他内容?

谢谢。

4

1 回答 1

4

您需要将运算符设为 const:

bool operator < (const someClass&) const;

没有它,只有 RHS 是 const。

于 2012-06-28T16:56:18.760 回答