const
関数を入れないとエラーになるのはなぜbool operator<(const Node& otherNode) //const
ですか?
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;
}
};