Возвращает количество значений Enum. (Размер Enum typedef) - PullRequest
1 голос
/ 13 августа 2010

Существует ли встроенная функция или способ запроса размера emun typedef?

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

Я хотел бы получить способ запроса, и он (в данном случае) возвращает 3. Я мог быдаже иметь дело с возвращением 2 как наибольшего значения (0,1,2).

Или я вынужден использовать другую переменную int, которую я статически устанавливаю при создании перечисления?

1 Ответ

4 голосов
/ 13 августа 2010

Возможно, вы захотите сослаться на это сообщение .

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

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

kEasy будет 0, kMedium равно 1, kHard равно 2, а kCount равно 3, что является количеством элементов, которые у вас есть, минус сам.

...