2010-01-22 65 views
3

之間的比較我得到這樣的警告:測試枚舉給出了警告:指針和整數

警告:指針 和整數之間的比較

執行以下操作時:

if (menuItem.menuType == LinkExternal) 

MenuType是一個自定義枚舉,定義如下:

enum menuItemType 
{ 
    LinkInternal = 0, 
    LinkExternal = 1, 
    Image = 2, 
    Movie = 3, 
    MapQuery = 4 
}; 

enum menuItemType *menuType; 

我假設我只需要一個轉換,但是語法是什麼?

+3

請顯示'menuItem.menuType'的聲明,而不僅僅是'enum menuItemType'。我想知道你是否將其聲明爲'menuItemType * menuType;'而不是'menuItemType menuType'。 – 2010-01-22 13:37:07

+0

enum menuItemType * menuType; – 2010-01-22 14:29:36

+0

所以...既然你把它聲明爲一個指向'menuItemType'的指針,你在哪裏分配它指向的'menuItemType'? – 2010-01-22 15:13:27

回答

11

由於您的menuType是一個指向枚舉值,你可以重寫你的條件:

if (*(menuItem.menuType) == LinkExternal) 

但是,爲什麼你需要存儲的指針這個值?你不能只是:

enum menuItemType menuType;