枚举类型检查

时间:2013-03-29 18:33:59

标签: c++ c eclipse optimization arduino

我有一个函数可以获取预定义的特定枚举类型的操作数。出于安全原因,我希望函数测试操作数是否属于特定的枚举类型。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

如果您的enum看起来像:

enum /* ... */
{
  V1,
  V2,
  /* ... */ 
  VN
};

您可以使用以下条件:

if (v < V1 || v > VN)
{
  /* invalid */
}

但是,如果您提供特定值,则必须检查每个值。宏可以帮助你一点。

关于这一点的标准还有一个方面,即:

enum /* ... */
{
  V1 = 0,
  V2 = 2,
};

1enum /*...*/类型的有效值。因此,您必须详细说明“枚举类型检查”对您的意义。

答案 1 :(得分:0)

C中的枚举只是一个整数,因此无法检查它是否属于特定的枚举类型。