Anthony Main
Anthony Main

Reputation: 6068

Testing enum gives warning: comparison between pointer and integer

I am getting this warning:

warning: comparison between pointer and integer

when doing the following:

if (menuItem.menuType == LinkExternal)

MenuType is a custom enum defined as below:

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

enum menuItemType *menuType;

I assume I just need a cast but what is the syntax?

Upvotes: 4

Views: 4652

Answers (1)

Vladimir
Vladimir

Reputation: 170819

As your menuType is a pointer to enum value you can rewrite your condition:

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

But why do you need to store this value by pointer? Can't you have just:

enum menuItemType menuType;

Upvotes: 12

Related Questions