在一个MFC工程里,调用AfxBeginThread函数创建线程!使用如下语句
AfxBeginThread(Func,GetSafeHwnd());
回调函数Func定义成全局函数,在.h文件中中声明成 UINT Func(LPVOID lpParam){}
可现在问题是在开启线程函数处出现:afxbeginthread:none of the 2 overloads can convert parameter 1 from type 'unsigned int(_cded *)(long)'的错误!
各位大侠请指教,这到底是为什么啊?
AfxBeginThread(Func,GetSafeHwnd());
回调函数Func定义成全局函数,在.h文件中中声明成 UINT Func(LPVOID lpParam){}
可现在问题是在开启线程函数处出现:afxbeginthread:none of the 2 overloads can convert parameter 1 from type 'unsigned int(_cded *)(long)'的错误!
各位大侠请指教,这到底是为什么啊?
DWORD WINAPI ThreadFunc(PVOID pvParam)
===========
声明中就不应该加{}了,应该写成在.h文件中中声明成 UINT Func(LPVOID lpParam);
=======================
改成这样试试:AfxBeginThread( (AFX_THREADPROC)Func, GetSafeHwnd());
UINT MyFun(.....);
定义为全局函数UINT MyFun(.....);就不会有问题