Почему я получаю сообщение об ошибке, когда я не ставил const
в функцию bool operator<(const Node& otherNode) //const
?Оператор перегрузки C++ <ошибка
stl_algo.h:91: error: passing 'const Node' as 'this' argument of 'bool Node::operator<(const Node&)' discards qualifiers
Должны ли все перегруженные операторы быть постоянными?
class Node {
public:
double coordinate;
bool operator==(const Node& other) const{
return coordinate == other.coordinate;
}
bool operator<(const Node& other) const{
return coordinate < other.coordinate;
}
};
Да у меня был тест по программированию, а затем я паниковать, потому что сравнивать перегрузки оператора не работает, то я просто положить сопзЬ и но я сомневался, что все операторы должны быть const. Теперь я понимаю. Благодарю. – BRabbit27