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 - > e1 ==(enum1)(int)var4
我无法解决。
明确警告的一些建议将有很大的帮助:)
答案 0 :(得分:1)
可以将var转换为int类型吗? 或者使用-Wno-enum-compare编译器选项
答案 1 :(得分:0)
GCC 4.4.5没有对所声明的代码更改发出警告。