2016-06-09 3 views
1

Есть аналогичные вопросы here и в других местах, но никто не исправляет эту проблему.Как исправить предупреждение: расширенные списки инициализаторов?

GCC 4.6.3 на Ubuntu 12.04.5 производит следующее предупреждение

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

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

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

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

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

+3

Добавляем опцию '-std = C++ 0x', как следует из сообщения? – MikeCAT

ответ

2

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

Смежные вопросы