我有一个小问题在C++中,我希望你能帮助我。定义运算符<在结构中的另一个结构的2个对象
我想定义一个struct myPoint。这个结构应该能够比较类型点中的两个对象(定义为pair)。我希望myPoint的每个“实例”能够自行比较两个点。这就是我试图代码:
typedef pair<int,int> point;
struct myPoint{
point p;
inline bool operator<(point x, point y){
return !ccw(p,x,y);
}
所以每myPoint应该考虑自己的点P,同时比较两个点X,Y。 的(翻译)错误我得到的是
"error C2804: Binary Operator '<' has too much Arguments/Parameters"
现在看来似乎是syntacticly可能使该运营商只有一个点,我想它会比较点到myPoint,但是这不是它应该是什么。 问题的背景是,我想使用预定义的排序函数来排序向量的点和排序“函数”我想提供一个myPoint对象。
你的'operator <'根本没有意义 - 你会怎么称呼它?另外,'inline'是多余的,因为你的函数已经被定义在一个类中,因此自动'inline'。 –