operator<
过载时遇到麻烦。我试图重载operator<
,以便可以根据Line2D
的{{1}}对pt1
对象进行排序。但是我在弄清楚如何声明该函数时遇到了麻烦。
我遇到了错误:
x
。
我尝试过的操作:删除object has type qualifiers that are not compatible with the member function "Point2D::getX"
,改为放置const
。
Point2D &l2dobj
答案 0 :(得分:3)
Point2D :: getX 不接受 const 实例,当它是 const引用时,不能将其应用于 l2dobj ,将 getX (和优先级 getY )更改为:
class Point2D
{
protected:
int x;
int y;
public:
int getX() const;
int getY() const;
};
作为一种通用方法,您可以越多地声明方法 const ,其参数也应相同