如何修复警告:扩展初始化列表?
How to fix warning: extended initializer lists?
here 和其他地方也有类似的问题,但 none 解决了这个问题。
gcc 4.6.3 on Ubuntu 12.04.5 产生以下警告
extended initializer lists only available with -std=c++0x or
-std=gnu++0x [enabled by default]
对于以下代码
// Mutex.h
class CMutex
{
...
private:
pthread_mutex_t m_plock;
};
// Mutex.cpp
CMutex::CMutex()
{
m_plock = PTHREAD_MUTEX_INITIALIZER;
}
如何最好地解决此警告?
GCC 只是想让您知道您正在使用 C++11 功能(以防您不打算使用),即使默认情况下它允许使用它们。要禁用警告,只需添加它建议的开关,即 -std=c++0x
让它知道这确实是您的意图。
here 和其他地方也有类似的问题,但 none 解决了这个问题。
gcc 4.6.3 on Ubuntu 12.04.5 产生以下警告
extended initializer lists only available with -std=c++0x or -std=gnu++0x [enabled by default]
对于以下代码
// Mutex.h
class CMutex
{
...
private:
pthread_mutex_t m_plock;
};
// Mutex.cpp
CMutex::CMutex()
{
m_plock = PTHREAD_MUTEX_INITIALIZER;
}
如何最好地解决此警告?
GCC 只是想让您知道您正在使用 C++11 功能(以防您不打算使用),即使默认情况下它允许使用它们。要禁用警告,只需添加它建议的开关,即 -std=c++0x
让它知道这确实是您的意图。