![]() |
13. Используем enum: советы Дженифер Лопес | ||
Какие из приведенных инструкций приведут к ошибке компиляции? |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | enum day_of_week { monday, tuesday, wednesday, thursday, friday, saturday, sunday }; int main() { day_of_week yesterday; day_of_week today = friday; day_of_week tomorrow = saturday; today++; --today; int day_number = today; today = day_number; int salary[7] = {0}; salary[today] = 150; bool is_less = today < tomorrow; ~today; !today; today & tomorrow; today || tomorrow; today << tomorrow; today += tomorrow; return 0; } |
Правильный ответ. | ||
Ошибки будут только там, где происходит попытка модификации значения enum, поскольку такая попытка не гарантирует того, что новое значение будет находиться в указанном диапазоне. В остальном enum свободно конвертируется в int. Компилятор сделает все, чтобы не допустить выход значения за указанный диапазон. В этом правиле, к сожалению, существует исключение. Объявление enum-а без инициализации (строка .013) не является ошибкой компиляции, однако его значением будет мусор. |
|
Статистика |
|