int a = 4==4?:7; cout<<a<<endl;
上面的代码不应该产生编译错误吗?另外,我得到的值是
1
我尝试过,
int a = 4==4?7:;
这确实会产生编译错误。 我最好的猜测是它以不同的方式解释第一个表达式,这在语法上可能是正确的。
这是一个 gcc 条件表达式 扩展,如果您在
-pedantic