【问题标题】:How to fix warning: extended initializer lists?如何修复警告:扩展初始化列表?
【发布时间】:2016-06-09 13:34:38
【问题描述】:

here 和其他地方也有类似的问题,但没有一个可以解决此问题。

Ubuntu 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;
}

如何最好地解决此警告?

【问题讨论】:

  • 按照消息提示添加-std=c++0x 选项?

标签: c++ gcc pthreads


【解决方案1】:

GCC 只是想让您知道您正在使用 C++11 功能(以防您不打算这样做),即使它默认允许它们。要禁用警告,只需添加它建议的开关,即-std=c++0x,让它知道这确实是你的意图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 2013-05-21
    • 2014-03-02
    • 2012-11-24
    相关资源
    最近更新 更多