2013-05-10 152 views
1

的typedef枚舉枚舉結構內: '之間' 和「枚舉<anonymous>

{ 

    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' 和 '枚舉' 之間

比較[-Wenum-比較]。

雖然讀Set one enum equal to another,並改變代碼作爲

S1之後 - > E1 ==(enum1)(int)的VAR4

我米無法解決。

一些建議,以明確的警告,將有很大的幫助:)

回答

1

可轉換VAR都爲int類型的作品? 或使用-Wno-enum-compare編譯器選項

0

GCC 4.4.5不會警告說明的代碼更改。