我有以下枚举类:
enum class EnumClass : int
{
A = 0, B
};
现在我想用该枚举类型为数组添加下标:
MyObject arr[2];
.
.
.
MyObject a = arr[EnumClass::A]
MyObject b = arr[EnumClass::B]
不幸的是我收到以下错误消息:
array subscript is not an integer
由于枚举类是强类型的,我希望这能起作用。
由于枚举类是强类型的,我希望这能起作用
相反,这正是它行不通的原因。作用域枚举不会隐式转换为基础类型。使用static_cast
反而。
MyObject a = arr[static_cast<int>(EnumClass::A)];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)