TEST test1 = 5 would actually make it assign to unknown
неверно (как уже указано 'Oli').
Перечисление состоит из набора именованных целочисленных констант.Переменная с типом перечисления хранит одно из значений набора перечислений, определенных этим типом.Хотя желательно иметь одно из предварительно определенных значений, но присваивать другое случайное значение isn't illegal
.
В большинстве (не во всех) случаях константы enum используются для проверки некоторого параметра, который ожидаетсяиметь некоторый заранее определенный диапазон значений.Например: в сетевом приложении вам, возможно, придется отправлять некоторый msg_id (который является константой enum) с каждым сообщением с одного конца и предпринимать некоторые действия на основе этого msg_id на другом конце.Однако, если полученный msg_id не является одним из предопределенных значений для enum, вы можете установить msg_id = Unknown
и вернуть ошибку.