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

上記のコードがあり、コンパイラが理解できないエラーをスローしています。構造体で == 演算子をオーバーロードする方法がよくわかりません。

4

1 に答える 1

3

かっこのペアを追加します。

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

それ以外の場合、これは次のように解析されます。

(cout << xy1) == xy2
于 2012-04-26T05:09:54.817 に答える