例子:
enum SomeEnum
{
DD,
PP,
NN
};
void someFunc(int a)
{
}
int main()
{
SomeEnum e = DD;
someFunc(a) // calls someFunc with value 0
return 0;
}
这在 MSVC 中有效,但它是非标准的吗?
谢谢
最佳答案
enum
有一个底层整数类型(用于存储 enum
值的类型),enum
值可以是隐式转换为该整数类型的值。
在您的情况下,基础类型是 int
,值为 0。一切正常。
关于c++ - 将枚举值传递给非标准的 int 参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10644754/