2010-08-13 9 views
1

Existe-t-il une fonction intégrée ou un moyen d'interroger la taille d'un typedef emun?Renvoie le nombre de valeurs enum. (Taille de Enum typedef)

typedef enum difficultyTypes { 
kEasy, 
kMedium, 
kHard 
} difficultyType; 

Je voudrais une façon d'interroger et d'avoir (dans ce cas) retour 3. je pourrais même y faire face retour 2 comme la valeur la plus élevée (0,1,2). Ou suis-je obligé d'utiliser une autre variable int que je fixe statiquement lorsque je crée l'énumération?

+0

Vous pourriez ajouter kMax à la fin – PostMan

Répondre

4

Vous voudrez peut-être référence this post.

To clarify his answer, looking at your example you could do the following 

typedef enum difficultyTypes { 
kEasy, 
kMedium, 
kHard, 
kCount 
} difficultyType; 

Keasy serait 0, kMedium est 1, Khard est 2, et kCount est 3, qui est le nombre d'éléments que vous avez moins lui-même.