コンパイラ エラー: ISO C のポインタと整数の比較の禁止
開発者は、Bjarne Stroustrup の C 教科書の単純な関数を試しているときに、 「ISO C ではポインタと整数の比較が禁止されています。」というコンパイル エラーが頻繁に発生します。このエラーは、ポインタと整数の比較に起因します。
この問題の 1 つの例は、文字入力と文字列 "y" を比較するときに発生します。提供されたコード:
<code class="cpp">#include <iostream> #include <string> using namespace std; bool accept() { cout << "Do you want to proceed (y or n)?\n"; char answer; cin >> answer; if (answer == "y") return true; return false; }</code>
コードでは回答が文字 (char) として定義されているのに対し、「y」は文字列リテラルであるため、エラーが発生します。これを解決するには、2 つのオプションがあります:
どちらの解決策も、整数へのポインタを別の整数へのポインタまたは文字列へのポインタと確実に比較することで、コンパイラの制限に対処しています。
以上がC ではなぜポインタと整数の比較が禁止されているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。