Описание тега constant-expression
Постоянные выражения можно оценивать во время компиляции.
Многие языки требуют, чтобы определенные инициализаторы были постоянными выражениями. Например:
- Границы массива
- Селекторы в операторах case
- Спецификация длины битового поля
- Инициализаторы перечисления
- Аргументы шаблона, не относящиеся к типу
В постоянных выражениях разрешен очень ограниченный набор операндов. Как правило, использование переменных не допускается. Например, C++ позволяет:
- Литералы
- Константы перечисления
- Значения, объявленные как const, инициализируемые константными выражениями
- sizeof выражений
Вопросы с этим тегом обычно требуют помощи с сообщениями об ошибках, которые указывают строки, требующие постоянных выражений.