Предупреждение компилятора GCC: расширенные списки инициализаторов доступны только с c ++ 0x - PullRequest
3 голосов
/ 08 декабря 2009

Использование инициализации этого члена ...

StatsScreen::StatsScreen( GameState::State level )
    : m_Level( level ) {
  ...//
}

Я получаю следующее предупреждение ...

extended initializer lists only available with -std=c++0x or -std=gnu++0x

Любая информация относительно этого предупреждения?

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

1 Ответ

12 голосов
/ 08 декабря 2009

Я думаю, что вы инициализируете объект с {...} вместо (...):

StatsScreen ss{...}; // only available in C++0x
StatsScreen ss(...); // OK in C++98

Чтобы скомпилировать ваш код как код C ++ 0x, просто добавьте следующий флаг при компиляции:

g++ test.cpp -std=c++0x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...