我有一个函数可以获取预定义的特定枚举类型的操作数。出于安全原因,我希望该函数测试操作数是否属于特定的枚举类型。我怎样才能做到这一点?
问问题
171 次
2 回答
1
如果你enum
看起来像:
enum /* ... */
{
V1,
V2,
/* ... */
VN
};
您可以使用以下条件:
if (v < V1 || v > VN)
{
/* invalid */
}
但是,如果您提供特定值,则必须检查每个值。宏可以帮助你一点。
在这一点上,标准还有一个方面,它说,在:
enum /* ... */
{
V1 = 0,
V2 = 2,
};
1
是类型的有效值enum /*...*/
。因此,您必须详细说明“枚举类型检查”对您意味着什么。
于 2013-03-29T18:38:55.100 回答
0
C中的枚举只是一个整数,因此无法检查它是否属于特定的枚举类型。
于 2013-03-29T18:38:38.247 回答