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
和符號和無符號整數類型。