2
当声明枚举(类)时,我可以指定枚举将使用的基本类型,例如,枚举(类)的允许类型是什么?
enum class MyEnum : baseType { FIRST, SECOND };
baseType
是什么?通常的选择是uint32_t
或类似的东西,但也可能是float
?甚至我自己的班级?
当声明枚举(类)时,我可以指定枚举将使用的基本类型,例如,枚举(类)的允许类型是什么?
enum class MyEnum : baseType { FIRST, SECOND };
baseType
是什么?通常的选择是uint32_t
或类似的东西,但也可能是float
?甚至我自己的班级?
N4140 [dcl.enum]/2:
[...] 枚举基应命名一个整体式的类型说明符-SEQ;任何cv资格都会被忽略。 [...]
所以baseType
可以是任何整数类型,即bool
,char
,char16_t
,char32_t
,wchar_t
和符号和无符号整数类型。