我用 MSVC 10 尝试了以下代码片段,它工作正常。
enum
{
FOO = (sizeof(void*) == 8 ? 10 : 20)
};
int main()
{
return FOO;
}
我想知道的是:当所有操作数都是常量表达式时,C++ 标准(最好是 C++98)是否允许我在常量表达式中使用条件运算符,或者这是微软的怪癖/扩展?
我用 MSVC 10 尝试了以下代码片段,它工作正常。
enum
{
FOO = (sizeof(void*) == 8 ? 10 : 20)
};
int main()
{
return FOO;
}
我想知道的是:当所有操作数都是常量表达式时,C++ 标准(最好是 C++98)是否允许我在常量表达式中使用条件运算符,或者这是微软的怪癖/扩展?