C++创建多线程问题
CreateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
中第三个参数要怎么设置啊?
我有个举例:
void CTest::PlusDisplay(){
cout<<"哦某西楼一"<<endl;
}
void CTest::mainThread(){
HANDLE hThread;
hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE )(TestThread), NULL, 0, NULL);
}
void Test::TestThread(){
CTest *ct;
ct->PlusDisplay();
::ExitThread(STILL_ACTIVE);
}
这么做为什么会发生异常?
异常如下:
error C2440: 'type cast' : cannot convert from '' to 'unsigned long (__stdcall *)(void *)'
我这段是照别人的代码写的,他的代码可以运行,但是我的就不可以,如何才能把void转换成unsigned long?
我这么写有错误码!?
求教!!! 多线程 c++
[解决办法]
static DWORD WINAPI TeseThread(LPVOID p);
这样才行。
[解决办法]
类里面的函数必须使用静态函数才能放到线程中。
C++创建多线程有关问题
C++创建多线程问题CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,DWORD dwStackSize,LPTHREAD_S
