6

私が持っていると言う

enum Foo { Foo0, Foo1, Foo2 };

明示的に宣言されたFoo定数の値が3(0、1、および2)ではないことに注意してください。

以下は未定義動作を引き起こしますか?

Foo yay = (Foo) 3;

3特に、の内部表現に適合する可能性があることに注意してくださいFoo

4

1 に答える 1

8

それは明確に定義されています。、、、およびの値を表すには0、型に少なくとも2ビットが必要であり、それでも十分に表すことができます。12Foo3

于 2012-12-13T23:08:21.207 に答える