Мой компилятор - это последний VС++ 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 : '{'
}
Почему в ternary-операторе оператор braced-init-list не может быть использован?
Является ли это поведение определенным как плохо сформированный стандартом С++ или просто ошибка компилятора VС++?