ISO C 比較錯誤:指針和整數
在處理Bjarne Stroustrup 的C 書中的範例時,一些使用者遇到了編譯-時間錯誤表示ISO C 禁止指針和整數之間的比較。此問題是由於在accept()函數中涉及char變數和字串常數的比較而引起的。
原因:
出錯是因為ISO C禁止直接比較字元指標(例如char*)與整數(例如用雙引號括起來的字元的數值,例如“y”)。
解:
解決此錯誤的主要方法有兩種:
首選方法:使用🎜>
<code class="cpp">#include <iostream> #include <string> using namespace std; bool accept() { cout << "Do you want to proceed (y or n)?\n"; string answer; cin >> answer; if (answer == "y") return true; return false; }</code>
<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>
以上是為什麼 ISO C 禁止比較指標和整數,以及如何修復程式碼中的此錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!