这有效:
enum TPriority
{
EPriorityIdle = -100,
EPriorityLow = -20,
EPriorityStandard = 0,
EPriorityUserInput = 10,
EPriorityHigh = 20
};
TPriority priority = EPriorityIdle;
但这不起作用:
TPriority priority = -100;
任何原因?
答案 0 :(得分:10)
它也有效,但你需要显式类型
TPriority priority = (TPriority)-100;
答案 1 :(得分:4)
答案 2 :(得分:2)
即使值与枚举值之一匹配,也无法为枚举赋值。
但是,施法会起作用:
TPriority priority = static_cast<TPriority>(-100);
答案 3 :(得分:0)
没有从枚举类型的值到枚举类型本身的类型转换。只是相反。