将枚举类型通过整数转换转换为其他枚举类型,像下面所示的这样,是有效的吗?在x64的gcc中似乎没有问题,但是否也可以在其他编译器和平台上实现相同的效果呢?
当a
等于A_third
且在enum_B
中没有相应的值时,会发生什么?
enum enum_A {
A_first = 0,
A_second,
A_third
};
enum enum_B {
B_first = 0,
B_second
};
enum_A a = A_first;
enum_B b;
b = enum_B(int(a));