【问题标题】:What are the allowed types for an enum (class)?枚举(类)允许的类型是什么?
【发布时间】:2015-09-10 14:05:24
【问题描述】:

在声明枚举(类)时,我可以指定枚举将使用的基础类型,例如

enum class MyEnum : baseType { FIRST, SECOND };

baseType 可以是什么?通常的选择是uint32_t 或类似的,但也可以是float?甚至我自己的班级?

【问题讨论】:

    标签: c++ c++11 c++14


    【解决方案1】:

    N4140 [dcl.enum]/2: [...] 枚举库的类型说明符序列应命名为整数类型;任何 cv 限定都会被忽略。 [...]

    所以baseType 可以是任何整数类型,即boolcharchar16_tchar32_twchar_t 以及有符号和无符号整数类型。

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      相关资源
      最近更新 更多