我的编译器是最新的 VC++ 2013 RC。
int f(bool b)
{
return {}; // OK
return b ? 1 : { }; // C2059: syntax error : '{'
return b ? 1 : {0}; // C2059: syntax error : '{'
return b ? {1} : {0}; // C2059: syntax error : '{'
}
三元运算符中为什么不能使用braced-init-list?
这种行为是否被 C++ 标准定义为格式错误,或者只是 VC++ 编译器的错误?