Почему constexpr предотвращает автоматический вывод типов в этом операторе?C++

Программы на C++. Форум разработчиков
Anonymous
Почему constexpr предотвращает автоматический вывод типов в этом операторе?

Сообщение Anonymous »

В дальнейшем, если я использую constexpr, компилятор, очевидно, компилятор говорит "выражение должно иметь постоянное значение", это происходит в MSVC и GCC:

Код: Выделить всё

int main() {
constexpr auto nnn = {
"this", "sentence", "is", "not", "a", "sentence",
"this", "sentence", "is", "a", "hoax"
};
}
Без constexpr компилятор может определить, что переменная nnn является std::initializer_list. А класс std::initialiser_list имеет конструктор constexpr, почему это не может быть constexpr?


Подробнее здесь: https://stackoverflow.com/questions/790 ... -statement

Вернуться в «C++»