标签: c++ enums
说我有
enum Foo { Foo0, Foo1, Foo2 };
请注意,没有显式声明的Foo常量值为3(它们是0,1和2)。
以下是否会调用未定义的行为?
Foo yay = (Foo) 3;
请注意,3可能适合Foo的内部表示。
3
Foo
答案 0 :(得分:8)
它定义明确。为了表示值0,1和2,类型Foo必须至少有两位,这足以代表3同样。
0
1
2