Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;:在初始化列表中为单个类成员使用两个逗号分隔的值 有一些C++代码。我想知道为什么初始化列表中的单个类成员可以使用两个值(:OTMixerMgr(OTMediaType_Audio,oBridgeInfo))?因为通常只有一个值用于单个类成员,如 ClassName::ClassName():FirstMember(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); } OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper oBridgeInfo) :OTMixerMgr(OTMediaType_Audio,oBridgeInfo) { m_phPullThread[0]=NULL; m_phPullCond=NULL; m_NLASTIMERPULL=0; m_bStarted=false; m_bPaused=假; OT_断言(m_phproducermutex=tsk_mutex_create()); OT_断言(m_phConsumersMutex=tsk_mutex_create()); m_oMixerAudio=OTMixerAudio::New(oBridgeInfo); m_bValid=(m_phConsumersMutex&m_oMixerAudio); }_C++_Initialization List - Fatal编程技术网

C++;:在初始化列表中为单个类成员使用两个逗号分隔的值 有一些C++代码。我想知道为什么初始化列表中的单个类成员可以使用两个值(:OTMixerMgr(OTMediaType_Audio,oBridgeInfo))?因为通常只有一个值用于单个类成员,如 ClassName::ClassName():FirstMember(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); } OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper oBridgeInfo) :OTMixerMgr(OTMediaType_Audio,oBridgeInfo) { m_phPullThread[0]=NULL; m_phPullCond=NULL; m_NLASTIMERPULL=0; m_bStarted=false; m_bPaused=假; OT_断言(m_phproducermutex=tsk_mutex_create()); OT_断言(m_phConsumersMutex=tsk_mutex_create()); m_oMixerAudio=OTMixerAudio::New(oBridgeInfo); m_bValid=(m_phConsumersMutex&m_oMixerAudio); }

C++;:在初始化列表中为单个类成员使用两个逗号分隔的值 有一些C++代码。我想知道为什么初始化列表中的单个类成员可以使用两个值(:OTMixerMgr(OTMediaType_Audio,oBridgeInfo))?因为通常只有一个值用于单个类成员,如 ClassName::ClassName():FirstMember(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); } OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper oBridgeInfo) :OTMixerMgr(OTMediaType_Audio,oBridgeInfo) { m_phPullThread[0]=NULL; m_phPullCond=NULL; m_NLASTIMERPULL=0; m_bStarted=false; m_bPaused=假; OT_断言(m_phproducermutex=tsk_mutex_create()); OT_断言(m_phConsumersMutex=tsk_mutex_create()); m_oMixerAudio=OTMixerAudio::New(oBridgeInfo); m_bValid=(m_phConsumersMutex&m_oMixerAudio); },c++,initialization-list,C++,Initialization List,此代码取自网真项目第31行 谢谢 它不是类成员,而是用两个参数调用基构造函数 OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper<OTBridgeInfo*> oBridgeInfo) :OTMixerMgr(OTMediaType_Audio, oBridgeInfo) // call base constructor OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper oBridgeI

此代码取自网真项目第31行


谢谢

它不是类成员,而是用两个参数调用基构造函数

OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper<OTBridgeInfo*> oBridgeInfo)
 :OTMixerMgr(OTMediaType_Audio, oBridgeInfo) // call base constructor
OTMixerMgrAudio::OTMixerMgrAudio(OTObjectWrapper oBridgeInfo)
:OTMixerMgr(OTMediaType_Audio,oBridgeInfo)//调用基构造函数
事实上,看一看

OTMixerMgr类:公共对象
{
公众:
OTMixerMgr(OTMediaType\u t eMediaType,OTObjectWrapper oBridgeInfo);

你有没有费心去看看什么是
OTMixerMgr
?即使这个类是一个数据成员,你仍然可以用两个参数调用构造函数,尽管是用数据成员的名称而不是类名,除非我在OP的问题中遗漏了一点。谢谢!Marko和@Erik的回答都很有帮助。
class OTMixerMgr : public OTObject
{
public:
        OTMixerMgr(OTMediaType_t eMediaType, OTObjectWrapper<OTBridgeInfo*> oBridgeInfo);