我在 C++ 中有一个小问题,希望你能帮助我。
我想定义一个结构 myPoint。这个结构应该能够比较来自类型点的两个对象(定义为对)。我希望 myPoint 的每个“实例”都能够自己比较两个点。这就是我试图编码的内容:
typedef pair<int,int> point;
struct myPoint{
point p;
inline bool operator<( point x, point y ){
return !ccw(p,x,y);
}
所以每个 myPoint 在比较两个点 x,y 时都应该考虑他自己的点 p。我得到的(翻译的)错误是
"error C2804: Binary Operator '<' has too much Arguments/Parameters"
似乎在语法上可以只用一个点来制作这个运算符,我猜它会将一个点与一个 myPoint 进行比较,但这不是应该的。问题的背景是我想使用预定义的排序函数对点向量进行排序,并且作为排序“函数”,我想提供一个 myPoint 对象。