Gcc 结构中的枚举:比较'';和';枚举<;匿名>;
类型定义枚举Gcc 结构中的枚举:比较'';和';枚举<;匿名>;,gcc,enums,typecasting-operator,Gcc,Enums,Typecasting Operator,类型定义枚举 { 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] 虽然阅读后,将代码更
{
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]
虽然阅读后,将代码更改为
s1->e1==(enum1)(int)var4
我无法解决
一些清除警告的建议将非常有帮助:)将两个var转换为int类型是否都有效?
或者使用-Wno enum compare编译器选项将两个var转换为int类型是否有效?
或者使用-Wno enum compare编译器选项,GCC 4.4.5不会在声明的代码更改时发出警告。GCC 4.4.5不会在声明的代码更改时发出警告