1

类型定义枚举

{

    var1,var2

}enum1;

 typedef enum 

{

  var3,var4 = 8

}enum2;

struct struct1

{

  enum1 e1;

  enum2 e2;

};

int main()

{

  struct struct1 *s1;


  if (s1 -> e1 == var4)

此代码引发警告:

'enum1' 和 'enum' [-Wenum-compare] 之间的比较。

虽然在阅读Set one enum equal to another并将代码更改为

s1 -> e1 ==(enum1) (int)var4

我无法解决。

一些清除警告的建议会有很大帮助:)

4

2 回答 2

1

可以将 var 转换为 int 类型吗?或者使用 -Wno-enum-compare 编译器选项

于 2013-08-15T09:06:25.027 回答
0

GCC 4.4.5 不会对所述代码更改发出警告。

于 2014-07-03T08:47:51.920 回答