C++:在初始化列表中为单个类成员使用两个逗号分隔值

Ole*_*ets -2 c++ initialization-list

有一些C++代码.我想知道为什么在初始化列表(:OTMixerMgr(OTMediaType_Audio, oBridgeInfo))中可以将两个值用于单个类成员?因为通常只有一个值用于单个类成员,例如
ClassName::ClassName(): fisrtMember(firstValue) {...}.

OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper<OTBridgeInfo*> oBridgeInfo)
:OTMixerMgr(OTMediaType_Audio, oBridgeInfo)
{
    m_phPullThread[0] = NULL;
    m_phPullCond = NULL;
    m_nLastTimerPull = 0;

    m_bStarted = false;
    m_bPaused = false;

    OT_ASSERT(m_phProducersMutex = tsk_mutex_create());
    OT_ASSERT(m_phConsumersMutex = tsk_mutex_create());

    m_oMixerAudio = OTMixerAudio::New(oBridgeInfo);

    m_bValid = (m_phConsumersMutex && m_oMixerAudio);
 }
Run Code Online (Sandbox Code Playgroud)

此代码取自远程呈现项目,https://code.google.com/p/telepresence/source/browse/trunk/source/OTMixerMgrAudio.cc? r = 118,第31行

谢谢!

Mar*_* A. 5

这不是一个类成员,它调用一个带有两个参数的基础构造函数

OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper<OTBridgeInfo*> oBridgeInfo)
 :OTMixerMgr(OTMediaType_Audio, oBridgeInfo) // call base constructor
Run Code Online (Sandbox Code Playgroud)

实际上,看一下声明OTMixerMgr的标题

class OTMixerMgr : public OTObject
{
public:
        OTMixerMgr(OTMediaType_t eMediaType, OTObjectWrapper<OTBridgeInfo*> oBridgeInfo);
Run Code Online (Sandbox Code Playgroud)