首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

线程的有关问题?

2012-02-01 
线程的问题???//a.h:class_declspec(dllexport)X{public:DWORDWINAPIy(LPVOIDk)voidCreateT()/*...*/}/

线程的问题???
//a.h:
class   _declspec(dllexport)   X
{
public:
DWORD   WINAPI   y(LPVOID   k);            
void   CreateT();
/*...*/
};
//a.cpp:
DWORD   WINAPI   X::y(LPVOID   k)
{
::MessageBox(NULL, "xx ", "yy ",0);
};
void   X::CreateT()
{
//以下三句代码放在任何另一程序里无问题,但放入类里就出现编译不通过的问题;
DWORD   dwRecvThread;
HANDLE   hRecvThread;
hRecvThread   =   CreateThread(NULL,0,dwapiRecv,this,0,&dwRecvThread);
};
/*...*/
//错误提示如下:
//error   C2664:cannot   convert   parameter   3   from   'unsigned   long   (void   *) '   to   'unsigned   long   (__stdcall   *)(void   *) '
//改为如下也不行:
//hRecvThread   =   CreateThread(NULL,0,(LPVOID)dwapiRecv,this,0,&dwRecvThread);

[解决办法]
CreateThread的第三参数必须为全局函数或类的静态函数的地址

热点排行