类成员回调函数问题?

panyc33 panyc33 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
各路高手,本人在项目中遇到一个技术问题,定义一类如下:


代码:

class CRecvDataThreadProc :public CThreadProc
{
public:
typedef void (CRecvDataThreadProc::*pSetRecvDataFunc)(DWORD dwData);

public:
CRecvDataThreadProc();
virtual ~CRecvDataThreadProc();

private:
void SetRecvDataOn(DWORD dwtmp);
void SetRecvDataOff(DWORD dwTmp);

private:
。。。
pSetRecvDataFunc m_pfnSet;
};

CRecvDataThreadProc::CRecvDataThreadProc()
:m_hWorkSemaphore(NULL)
{
>>error m_pfnSet = SetRecvDataOff;

::CloseHandle(m_hEventKillThread);

m_hEventKillThread = ::CreateEvent(NULL , TRUE , FALSE , NULL);
}



在>>error处我在vs2003下编译能通过并能正常运行,但在vs2010下报错:


代码:
Error 7 error C3867: 'CRecvDataThreadProc::SetRecvDataOff': function call missing argument list; use '&CRecvDataThreadProc::SetRecvDataOff' to create a pointer to member e:\work\l2ds_qk\l2ds_20100906\l2ds\threadproc.cpp 78 1 L2DS
虽然貌似加static可以解决,但那样代码就要做大量改动,请问各位有什么高招,先行谢过。
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
panyc33
进程/线程/DLL 15,466 成员 49,169 内容