C++11 强类型枚举-`class`关键字可选? 在“现代”C++中支持强类型枚举:类关键字是否可选?< /P>

C++11 强类型枚举-`class`关键字可选? 在“现代”C++中支持强类型枚举:类关键字是否可选?< /P>,c++11,c++14,C++11,C++14,我看到定义枚举的代码如下: enum SomeEnum: unsigned int { VAL1 = 0, VAL2 = 1, // ... }; 这是另一回事,编译器的草率(VS 2015(MSVC 19))还是类关键字在枚举为强类型时是隐式的?问题中的代码声明了一个正常的非范围枚举,但其基本类型是固定的。因此,它不同于枚举类,因为它仍然没有为其枚举数引入作用域。因为c++11即使是普通的枚举(仍然存在)也可以接受底层类型规范 枚举键属性(可选)标识符(可选)枚举基(

我看到定义枚举的代码如下:

enum SomeEnum: unsigned int {
    VAL1 = 0,
    VAL2 = 1,
    // ...
};

这是另一回事,编译器的草率(VS 2015(MSVC 19))还是
关键字在枚举为强类型时是隐式的?

问题中的代码声明了一个正常的非范围枚举,但其基本类型是固定的。因此,它不同于
枚举类
,因为它仍然没有为其枚举数引入作用域。

因为
c++11
即使是普通的枚举(仍然存在)也可以接受底层类型规范

枚举键属性(可选)标识符(可选)枚举基(可选)(C++11){enumerator list(可选)}

重点矿山

因此,它是一个正常的
枚举
而不是
枚举类
,而是一个
枚举基
规范。

您所称的“强类型枚举”实际上是命名的,而对于那些
结构
关键字是必需的

使用“继承”语法不是作用域枚举的一部分,它们也可以用于普通枚举