我有一个函数可以获取预定义的特定枚举类型的操作数。出于安全原因,我希望函数测试操作数是否属于特定的枚举类型。我该怎么做?
最佳答案
如果您的 enum
看起来像这样:
enum /* ... */
{
V1,
V2,
/* ... */
VN
};
你可以使用条件:
if (v < V1 || v > VN)
{
/* invalid */
}
但是,如果您给出特定值,则必须检查每个值。宏可以为您提供一些帮助。
关于这一点,标准上也有一个方面是这样说的,在:
enum /* ... */
{
V1 = 0,
V2 = 2,
};
1
是 enum/*...*/
类型的有效值。因此,您必须详细说明“枚举类型检查”对您意味着什么。
关于c++ - 枚举类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15709317/