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