Значение выражения для варианта выбора не является константой
Обновлено: 04.11.2024
Константа — это значение, которое не изменяется. В C++ имеется два ключевых слова, позволяющих указать, что объект не должен изменяться, и для осуществления этого намерения.
В C++ требуются константные выражения, то есть выражения, результатом вычисления которых является константа, для объявления следующих элементов.
Селекторы в операторах case.
Спецификация длины битового поля.
Ниже перечислены единственные допустимые операнды в константных выражениях.
Значения, объявленные как константы, которые инициализированы с константными выражениями.
sizeof выражения
Нецелочисленные константы должны преобразовываться (явно или неявно) в целочисленные типы, чтобы быть допустимыми в константном выражении. Поэтому следующий код допустим.
Явные преобразования в целочисленные типы допустимы в константных выражениях; все остальные типы и производные типы являются недопустимыми, за исключением случаев, когда оператор используется в качестве операндов sizeof .
Запятую-оператор и операторы присваивания невозможно использовать в константных выражениях.
Читайте также: