c++ 枚举enum类型

1,限定作用域enum

enum class open_mode {input,output,append}

默认类型int,不会进行隐式转换

2,不限定作用域enum

enum color{yellow,red,green}
enum {yellow,red,green}
相当于 const yellow = 6;

不存在默认类型,(潜在类型)运算时提升成int

要初始化一个enum对象,必须用该enum类型的另一个对象或者它的一个枚举成员。因此,即使某个整型值恰好与枚举成员的值相等,它也不能作为函数的enum实参使用。

open_mode om = 2; 错误

可以进行强制转换 open_mode om = open_mode(2);

猜你喜欢

转载自www.cnblogs.com/quehualin/p/9188542.html