編譯器錯誤:ISO C 禁止指標整數比較
在嘗試Bjarne Stroustrup 的C 教科書中的一個簡單函數時,開發人員常遇到編譯錯誤:「ISO C 禁止指標與整數之間的比較」。此錯誤源自於指標和整數之間的比較。
將字元輸入與字串「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」是字串文字。要解決此問題,您有兩個選擇:
這兩個解決方案都透過確保將指向整數的指標與指向另一個整數的指標或指向字串的指標進行比較來解決編譯器的限制。
以上是為什麼 C 禁止比較指標和整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!