C++中的枚举类型
这项工作:C++中的枚举类型,c++,enums,C++,Enums,这项工作: enum TPriority { EPriorityIdle = -100, EPriorityLow = -20, EPriorityStandard = 0, EPriorityUserInput = 10, EPriorityHigh = 20 }; TPriority priority = EPriorityIdle; 但这不起作用: TPriority priority = -100; 有什么原因吗?它也可以,但您需要显式类
enum TPriority
{
EPriorityIdle = -100,
EPriorityLow = -20,
EPriorityStandard = 0,
EPriorityUserInput = 10,
EPriorityHigh = 20
};
TPriority priority = EPriorityIdle;
但这不起作用:
TPriority priority = -100;
有什么原因吗?它也可以,但您需要显式类型
TPriority priority = (TPriority)-100;
它也可以工作,但您需要显式类型
TPriority priority = (TPriority)-100;
不能将int赋值给枚举,即使该值与枚举的某个值匹配 但是,铸造将起作用:
TPriority priority = static_cast<TPriority>(-100);
不能将int赋值给枚举,即使该值与枚举的某个值匹配 但是,铸造将起作用:
TPriority priority = static_cast<TPriority>(-100);
没有从枚举类型的值到枚举类型本身的类型转换。只有另一种方法。没有从枚举类型的值到枚举类型本身的类型转换。只有另一种方法。简而言之:它违背了拥有枚举的目的。简而言之:它违背了拥有枚举的目的