C++ 当语法工作时,这是怎么做的?
惊讶地发现这个被编译了C++ 当语法工作时,这是怎么做的?,c++,do-while,C++,Do While,惊讶地发现这个被编译了 do do do int a=1; while(0); while(0); while(0); 我觉得很奇怪。请解释一下thx,它只是三个嵌套的do-while循环 do { do { do { int a=1; } while(0); } while(0); } while(0); 为什么您认为它不应该编译?如果If、for等中只有一个语句,
do do do int a=1; while(0); while(0); while(0);
我觉得很奇怪。请解释一下thx,它只是三个嵌套的do-while循环
do
{
do
{
do
{
int a=1;
}
while(0);
}
while(0);
}
while(0);
为什么您认为它不应该编译?如果If、for等中只有一个语句,那么您不需要“{”并且“}”不会在GCC4.7.2上编译。int a=1在没有大括号的情况下有问题。@Lougler,有趣的是,它出现在4.7.3上。@chris您链接到的站点说gcc已被选中,但它在底部显示的命令行使用了g++。使用g++时,它确实可以很好地编译。对于gcc来说,情况并非如此。我觉得我的包裹很好用。