我试过尽可能地搜索文档和互联网,但是我一直无法让Xcode编译器在if语句中使用赋值运算符时发出警告。如何让Xcode 3.1编译器在if语句中警告赋值运算符?
我是从REALbasic的,在那里我有键入这种比较的一个极强的习惯来:
if x = 5 then ...
在C,当然,这句法分配的x 5个,然后测试值看到的结果,如果是非零和“正确”的操作是:
if (x == 5) { ... }
我已经发现了几个提到,编译器应该能够发出警告,如果有,如果比较在做的任务,但我在Xcode 3.1/gcc中找不到如何打开它。我发现-pedantic
选项,但似乎没有产生警告。
由于我已经花了相当多的时间两次,现在追踪错误,结果是“=”而不是“==”,我想要一个警告的帮助。
我知道我能做到这一点,而不是(这将导致一个编译器错误):
if (5 = x) { ... }
...但是,这需要改变根深蒂固的编码习惯了。更不用说它看起来笨拙和落后。
谢谢!
该标志对我不起作用。我有这样的代码:'if(newlyCreated = true){goToLastElement = true; }'虽然该标志已启用,但xcode/g ++不会发出警告。 (注意:C++代码) – 2011-02-24 18:12:54
我刚发现它不适用于'bool'变量:/ – 2011-02-24 18:16:16