CreateThread的问题
本人对CreateThread不是很了解,希望又大牛 可以解释一下,多谢!
我想把利用winsock2进行服务器的一个小例子(完成端口的例子)封装成一个类,但是其中有一个线程函数不知道如何封装成类中的函数
原函数是直接声明为:
DWORD WINAPI WorkerThread(LPVOID);
封装成类后,我写成
public: DWORD WINAPI WorkerThread(LPVOID);
定义为:
void server::createworkthread(void){}初次设计多线程,不好意思不会,请轻拍。
错误是
error C2664: “CreateThread”: 不能将参数 3 从“DWORD (__stdcall server::* )(LPVOID)”转换为“LPTHREAD_START_ROUTINE”服务器 多线程 winapi 线程
[解决办法]
DWORD WINAPI ThreadProc (LPVOID lpParam) ,格式不正确将无法调用成功,不能加static
[解决办法]
static函数没有类的this隐藏参数,当然不能引用非静态参数了。你要改变你的设计 。