我只是做了一些重构,并为自己创建了一个错误:
int i = 2;
+ 7;
+ 4;
Run Code Online (Sandbox Code Playgroud)
这是简化的; 第1行和第2行末尾的附加分号并不是那么明显 - 至少对我来说:).
我无法弄清楚为什么编译器没有抓住它.在C++中是否有一些有效的操作,它开始使用加法运算符?
没有添加到添加运算符的东西只是意味着积极因此+2;只是意味着(+2);只是有一条线i;或类似的东西.没有什么"错误",但也没有任何事情发生.如果你使用带有-Wall指定的gcc在*nix下编译你将得到warning: statement has no effect通常很好知道的错误,因为它通常是一个标志,你打算做某事的声明实际上并没有按照它应该做的那样.