Ошибка с constexpr (gcc) - ошибка: инициализатор, заключенный в фигурные скобки, не допускается здесь до токена '{' - PullRequest
6 голосов
/ 28 марта 2012
struct X {
constexpr static char a1[] = "hello"; // Okay
constexpr static const char* a2[] = {"hello"}; // Error
};

int main(){}

Компиляция с gcc выдает ошибку:

ошибка: инициализатор, заключенный в фигурные скобки, здесь запрещен до '{' токена

Это незаконное использование constexpr?

EDIT

Я пробовал 3 разные версии gcc, и он был скомпилирован на самой новой версии 4.7.0, которую я установил (я только что скачал, я использую mingw-w64), поэтому она выглядит исправленной ошибкой ошибка была бы хороша все же!).

4.7.0 20120311 (предварительный выпуск) // Хорошо
4.6.4 20120305 (предварительный выпуск) // Ошибка
4.7.0 20110829 (экспериментальная) // Ошибка

1 Ответ

2 голосов
/ 28 марта 2012

Это ошибка, которая была исправлена. Я подтвердил, что код компилируется с g++ 4.7.0 20120311 (prerelease).

...