初級 › int と文字列リテラルの比較で出るエラーの原因 › パターン5
int と文字列リテラルの比較で出るエラーの原因
int型の変数をダブルクォートの文字列リテラル(例: "20")と== で比較しようとしたときに出るエラーです。
1 #include <iostream> 2 int main() { 3 int id = 5; 4 if (id == ___) { ^ 5 std::cout << "found" << std::endl; 6 } 7 return 0; 8 }
main.cpp:4:12: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
空欄を埋めてコンパイル・実行を通す
見た目が同じ「5」でも、ダブルクォートで囲むと比較できない別の型になります。
次の問題