Описание тега constant-expression

Постоянные выражения можно оценивать во время компиляции.

Многие языки требуют, чтобы определенные инициализаторы были постоянными выражениями. Например:

  • Границы массива
  • Селекторы в операторах case
  • Спецификация длины битового поля
  • Инициализаторы перечисления
  • Аргументы шаблона, не относящиеся к типу

В постоянных выражениях разрешен очень ограниченный набор операндов. Как правило, использование переменных не допускается. Например, C++ позволяет:

  • Литералы
  • Константы перечисления
  • Значения, объявленные как const, инициализируемые константными выражениями
  • sizeof выражений

Вопросы с этим тегом обычно требуют помощи с сообщениями об ошибках, которые указывают строки, требующие постоянных выражений.