【发布时间】:2012-07-12 06:25:00
【问题描述】:
如何在 C++ 中将 int 转换为枚举?
例如:
enum Test
{
A, B
};
int a = 1;
如何将a 转换为类型Test::A?
【问题讨论】:
-
link 请注意,int 是否匹配枚举类型的常量之一并不重要;类型转换总是非法的。
-
我相信如果你想强制转换为 Test::A,
int a的值必须为 0,因为 Test::A 的隐含值为 0 而 Test::B 有一个隐含的值 1。除非专门为 Test::A 进行强制转换的事实不是重点......