2012-04-26 3 views
1
#include <iostream> 
using namespace std; 

struct coord { 
int x; 
int y; 
    bool operator== (const coord &c1) { 
    return (x == c1.x && y == c1.y); 
    } 
}; 

int main() { 
coord xy1 = {12, 20}; 
coord xy2 = {12, 20}; 
cout << xy1 == xy2 << endl; 
return 0; 
} 

У меня есть код выше, и компилятор бросает непонятные ошибки. Я не могу понять, как перегрузить оператор == в структуре.Перегрузка двойного равного оператора в struct?

ответ

3

Добавьте пару скобок:

cout << (xy1 == xy2) << endl; 

иначе это разобранный, как:

(cout << xy1) == xy2 
+0

Stupid глупую ошибку. Спасибо. – tree

Смежные вопросы