Значение выражения для варианта выбора не является константой

Обновлено: 22.11.2024

Константа — это значение, которое не изменяется. В C++ имеется два ключевых слова, позволяющих указать, что объект не должен изменяться, и для осуществления этого намерения.

В C++ требуются константные выражения, то есть выражения, результатом вычисления которых является константа, для объявления следующих элементов.

Селекторы в операторах case.

Спецификация длины битового поля.

Ниже перечислены единственные допустимые операнды в константных выражениях.

Значения, объявленные как константы, которые инициализированы с константными выражениями.

sizeof выражения

Нецелочисленные константы должны преобразовываться (явно или неявно) в целочисленные типы, чтобы быть допустимыми в константном выражении. Поэтому следующий код допустим.

Явные преобразования в целочисленные типы допустимы в константных выражениях; все остальные типы и производные типы являются недопустимыми, за исключением случаев, когда оператор используется в качестве операндов sizeof .

Запятую-оператор и операторы присваивания невозможно использовать в константных выражениях.

Читайте также: