添加 true;/false; 显然是有效的 C++ 代码。它编译并运行得很好。

类似地,对于 int;void;{} (no ())、 1+1;1 == 1; ,甚至只是 1; 之类的语句也是如此……为什么? (我使用的是 Visual C++)

最佳答案

为什么不?语言规范明确指出 C++ 中的表达式语句如下所示

<expression>;

这正是您在示例中所拥有的内容,例如 true;1 == 1;1;
{} 只是一个空的复合语句。

同时,int; 格式错误。如果编译器悄悄地接受它,它必须是某种特定于编译器的怪癖/错误/扩展。

关于c++ - 为什么 "true;"(和其他人)是有效的 C++ 代码行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31691444/

10-11 22:37
查看更多