【发布时间】:2015-09-10 14:05:24
【问题描述】:
在声明枚举(类)时,我可以指定枚举将使用的基础类型,例如
enum class MyEnum : baseType { FIRST, SECOND };
baseType 可以是什么?通常的选择是uint32_t 或类似的,但也可以是float?甚至我自己的班级?
【问题讨论】:
在声明枚举(类)时,我可以指定枚举将使用的基础类型,例如
enum class MyEnum : baseType { FIRST, SECOND };
baseType 可以是什么?通常的选择是uint32_t 或类似的,但也可以是float?甚至我自己的班级?
【问题讨论】:
N4140 [dcl.enum]/2:[...] 枚举库的类型说明符序列应命名为整数类型;任何 cv 限定都会被忽略。 [...]
所以baseType 可以是任何整数类型,即bool、char、char16_t、char32_t、wchar_t 以及有符号和无符号整数类型。
【讨论】: