Как исправить предупреждение: расширенные списки инициализаторов?

Есть похожие вопросы здесь и в других местах, но нет, что решить эту проблему.

gcc 4.6.3 в Ubuntu 12.04.5 выдает следующее предупреждение

расширенные списки инициализаторов доступны только с -std=c++0x или -std=gnu++0x [включено по умолчанию]

для следующего кода

// Mutex.h
class CMutex
{
    ...
private:
    pthread_mutex_t m_plock;
};

// Mutex.cpp
CMutex::CMutex()
{
    m_plock = PTHREAD_MUTEX_INITIALIZER;
}

Как лучше разрешить это предупреждение?


person jacknad    schedule 09.06.2016    source источник
comment
Добавив опцию -std=c++0x, как предлагает сообщение?   -  person MikeCAT    schedule 09.06.2016


Ответы (1)


GCC просто хочет, чтобы вы знали, что вы используете функции C++11 (на случай, если вы не собирались этого делать), даже если они разрешены по умолчанию. Чтобы отключить предупреждение, просто добавьте переключатель, который он предлагает, то есть -std=c++0x, чтобы он знал, что это действительно ваше намерение.

person Smeeheey    schedule 09.06.2016