我有一个名为的类Candidate
,其中包含一个名为DataUpdate()
. 我打算动态创建许多候选实例,并让每个实例将其DataUpdate()
作为插槽的功能连接到boost.signals2
信号;准备接收信号。
我在下面开发的代码给出了错误:
错误 2 错误 C2276: '&' : 对绑定成员函数表达式的非法操作
我不确定实现预期结果的正确代码。问题似乎在于取消引用指针以获取要传递给candidateInstance
的实例函数的地址。有人可以建议正确的方法吗?DataUpdate()
signal.connect()
Candidate *candidateInstance;
//INSTANTIATE CANDIDATE INSTANCE
++DataStream::ID;//increment static variable
candidatesVector.push_back(candidateInstance = new Candidate(ID));
//CONNECT DATAUPDATE() OF CANDIDATE INSTANCE
signal.connect( &((*candidateInstance).DataUpdate) );
//FIRE SIGNAL
signal(BarNumber(), DateTime(), Open(), High(), Low(), Close());