我只是在做一些重构,并为自己制造了一个错误:
int i = 2;
+ 7;
+ 4;
这是简化的;第 1 行和第 2 行末尾的额外分号并不是那么明显 - 至少对我来说 :)。
我不明白为什么编译器没有捕捉到它。 C++ 中是否有一些以加法运算符开头的有效操作?
最佳答案
没有要添加到加法运算符的东西只是意味着积极所以 +2;
只是意味着 (+2);
这就像只有一行 i ;
或类似的。它没有任何“错误”,但也不会发生任何事情。如果您在 *nix 下使用带有 -Wall 指定的 gcc 进行编译,您将收到错误 warning: statement has no effect
这通常是个好消息,因为它通常是您打算执行的声明的标志某些事情实际上没有按照预期去做。
关于c++ - 为什么编译器不会拒绝以加法运算符开头的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495013/