我有一个枚举:
enum myenum{
typeA,
typeB,
typeC
} myenum_t;
接着,将调用一个带有枚举参数的函数:
int myfunction(myenum_t param1)
{
switch(param1)
{
case typeA:
case typeB:
case typeC:
//do the work
break;
default:
printf("Invalid parameter");
}
return 0;
}
但是,随着myenum_t
的值越来越多,myfunction
不再那么优雅。
有没有更好的方法来检查枚举是有效还是无效?
firstEnum = typeA, lastEnum = typeC
,然后使用if(int(inputEnum) < int(firstEnum) || int(inputEnum) > int(lastEnum)) { /* 处理错误 */ }
进行范围检查。 - Mike DeSimone