C++创建多线程有关问题

C++创建多线程问题CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,DWORD dwStackSize,LPTHREAD_S

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); 

这样才行。
[解决办法]
类里面的函数必须使用静态函数才能放到线程中。

引用:
最开始的时候就是参照书上的方法去做的,但是也会报错,写法大概和你一样,只是我写的不是静态的,错误号:
error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void)' to 'unsigned long (__stdcall *)(void *)'