我有一個小問題在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'。 –