中級 › error: invalid operands to binary ==(構造体同士の==比較) › パターン3
error: invalid operands to binary ==(構造体同士の==比較)
構造体同士を==で比較しようとしたときに出るエラーです。
1 #include <stdio.h> 2 3 struct Pair { int a, b; }; 4 5 int main(void) { 6 struct Pair p1 = {3, 4}; 7 struct Pair p2 = {3, 5}; 8 if (____________________________) { ^ 9 printf("equal\n"); 10 } else { 11 printf("different\n"); 12 } 13 return 0; 14 }
main.c:8:12: error: invalid operands to binary == (have 'struct Pair' and 'struct Pair')
空欄を埋めてコンパイル・実行を通す
コンパイラは構造体のメンバ構成を知っていても、==による自動比較は生成しません。必ず自分で書く必要があります。
次の問題