编译器错误: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中文网其他相关文章!