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; 
} 

나는 위의 코드를 가지고 있으며 컴파일러는 이해할 수없는 오류를 던지고 있습니다. 구조체에 == 연산자를 오버로드하는 방법을 알 수 없습니다. 그렇지 않으면이 같은 구문 분석구조체의 오버로드 이중 같음 연산자?

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

:

(cout << xy1) == xy2 

답변

3

는 괄호 한 쌍을 추가합니다. 고맙습니다.
+0

바보 바보 실수 – tree