类内用多线程函数时候提示需要使用静态成员。
由于我不希望用静态成员。于是翻了很多文章。 利用线程函数的参数要做文章。
线程函数原型
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpsa,
DWORD lpsa,
DWORD lpsa,
DWORD cbStack,
LPTHREAD_START_ROUTINE cbStack,
LPTHREAD_START_ROUTINE lpStartAddr,
LPVOID lpStartAddr,
LPVOID lpvThreadParam,
DWORD lpvThreadParam,
DWORD fdwCreate,
LPDWORD fdwCreate,
LPDWORD lpIDThread
);
传入函数原型
DWORD ThreadProc( LPVOID lpParameter);
方法如下
1class cMyClass
2{
3public:
4 DWORD ThreadProc();
5protected:
6private:
7 static DWORD __stdcall _ThreadPorc(LPVOID lpVoid) {return ((cMyClass*)lpVoid)->ThreadProc(); }
8};
9
10DWORD cMyClass::ThreadProc()
11{
12 //Code
13}
这样的话就可以使用非静态的类函数。。