2016-06-09 10 views
1

Es gibt ähnliche Fragen here und anderswo aber keine, die dieses Problem beheben.Wie zu beheben Warnung: erweiterte Initialisierungslisten?

gcc 4.6.3 auf Ubuntu 12.04.5 erzeugt die folgende Warnung

erweiterten initializer Listen nur mit -std = C++ 0x oder -std = Gnu ++ 0x [standardmäßig aktiviert]

für den folgenden Code

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

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

Wie wird diese Warnung am besten gelöst?

+3

Durch Hinzufügen von '-std = C++ 0x 'Option, wie die Nachricht vorschlägt? – MikeCAT

Antwort

2

GCC will nur, dass Sie wissen, dass Sie C++ 11-Funktionen verwenden (falls Sie es nicht vorhatten), selbst wenn sie standardmäßig aktiviert sind. Um die Warnung zu deaktivieren, fügen Sie einfach den Schalter hinzu, den Sie vorschlagen, d. H. -std=c++0x, um es wissen zu lassen, dass dies in der Tat Ihre Absicht ist.