【发布时间】:2010-11-27 04:48:40
【问题描述】:
我已尽我所能搜索文档和互联网,但如果在 if 语句中使用赋值运算符,我无法让 Xcode 编译器发出警告。
我来自 RealBasic,在那里我养成了输入这种比较的非常强烈的习惯:
if x = 5 then ...
当然,在 C 中,该语法将 x 赋值为 5,然后测试结果是否为非零,“正确”运算符是:
if (x == 5) { ... }
我发现有几处提到,如果在 if 比较中进行了赋值,编译器应该能够发出警告,但我找不到如何在 Xcode 3.1/gcc 中打开它。我找到了-pedantic 选项,但这似乎没有产生警告。
由于我现在已经花了相当多的时间两次来追踪结果是“=”而不是“==”的错误,因此我希望得到警告的帮助。
我知道我可以这样做(这会导致编译器错误):
if (5 = x) { ... }
...但这也需要改变根深蒂固的编码习惯。更别提它看起来笨拙落后了。
谢谢!
【问题讨论】:
标签: xcode compiler-construction if-statement assignment-operator