结构中的枚举:''和'enum <anonymous> </anonymous>之间的比较

时间:2013-05-10 11:06:20

标签: gcc enums typecasting-operator

typedef enum

{

    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 - &gt; e1 ==(enum1)(int)var4

我无法解决。

明确警告的一些建议将有很大的帮助:)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

GCC 4.4.5没有对所声明的代码更改发出警告。