与枚举的隐式转换

Pau*_*aul 5 c c++ enums implicit-conversion

这是一个基本问题,我希望谷歌很容易,但没有找到答案.

让我们说我有一个枚举:

enum abc { a, b, c };
Run Code Online (Sandbox Code Playgroud)

支持的隐式转换有哪些?编译器之间是否有编译器扩展或不同的行为?

我问的是隐式转换为枚举:

enum abc test = (** which type can appear here? **);
Run Code Online (Sandbox Code Playgroud)

以及枚举的隐式转换:

(** which type can appear here? **) test2 = test;
Run Code Online (Sandbox Code Playgroud)

我想知道C和C++的答案.

小智 4

正如参考文献所说:

无作用域枚举类型的值可以隐式转换为整型

参考链接

  • 这只是c++,至少参考是。答案可能对两者都适用,但您可能应该在这里说清楚。特别是如果参考文献这么说的话。 (2认同)