类似的问题here和其他地方但没有解决此问题的问题。
Uccntu 12.04.5上的gcc 4.6.3产生以下警告
扩展初始化程序列表仅适用于-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;
}
如何最好地解决此警告?
答案 0 :(得分:2)
GCC只是希望您知道您正在使用C ++ 11功能(如果您不打算这样做),即使它默认允许它们。要禁用警告,只需添加它建议的开关,即-std=c++0x
,让它知道这确实是你的意图。