перечисление определения типа, assiging значение в

Что я делаю не так?

Невозможно сказать, не зная, что на самом деле пытается сделать ваше приложение. В качестве первого шага, чтобы просто диагностировать причину проблемы, вам нужно внедрить в свое приложение какую-то регистрацию. Как только вы увидите сообщение об исключении и трассировку стека, вы, вероятно, сможете найти способ исправить ошибку.

Но если вы не знаете , почему происходит сбой приложения, вы никогда не сможете это исправить.

11
задан noufal 13 December 2013 в 09:26
поделиться

4 ответа

По умолчанию перечислениям автоматически дает целочисленные значения, запускающиеся от 0 компилятор. Таким образом, дата будет нулем, время одни и два денег. Следующее значение дано 'psuedo' перечислению значений TYPE_COUNT, которому дадут значение три, который, оказывается, количество 'надлежащих' перечислимых значений.

TYPE_UNKNOWN другое значение, которое представляет что-то, что не является 'надлежащим' значением, так провалит тест e < TYPE_COUNT. Наличие его равняется TYPE_COUNT средства, что каждое отличное значимое значение непрерывно, но я не знаю ни о каком значительном преимуществе для того (было бы то, если TYPE_COUNT был тот меньше, чем питание 2, который мог бы произвести, какое представление компилятор мог использовать, и его 'хорошее', чтобы иметь непрерывные значения, но это действительно не имеет значения, поскольку Вы не увеличили бы их мимо TYPE_COUNT так или иначе)

17
ответ дан 3 December 2019 в 03:19
поделиться

Почему имеют type_count и почему присваивают type_count type_unknown?

Сохранять вкладку на максимальном позволенном значении для enum. Помните, не было бы иначе никакого способа проверить, правильно ли данное значение (в диапазоне) или нет.

3
ответ дан 3 December 2019 в 03:19
поделиться

Перечислимые значения являются в основном целочисленными константами. По умолчанию им дают значение последнего элемента в перечислении + 1 (и 0 для первого элемента). Когда Вы хотите считать элементы, которые могли бы быть полезны для отображения его с массивом или чем-то перечисления, объявленного как этот (который будет обновлен динамично, если Вы добавите или удалите что-то из него), можно поместить КОЛИЧЕСТВО, постоянное в конце его (TYPE_COUNT в Вашем примере). Чтобы смочь отличить недопустимые значения в перечислении, Вы могли бы хотеть объявить другую константу. В Вашем примере, который постоянный будет равен постоянному количеству, который является одним значением, больше, чем самое большое значение Вашего перечисления.

6
ответ дан 3 December 2019 в 03:19
поделиться

TYPE_COUNT может служить для определения размеров массива, индексированного элементами перечисления:

type_info my_info[TYPE_COUNT]; 

или может использоваться в условии выхода для цикла. TYPE_UNKNOWN может использоваться для представления недопустимого или неопределенного значения для типа (-1, могла быть альтернатива TYPE_COUNT, поскольку это - значение).

2
ответ дан 3 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: