C++ のクラス内の関数をスレッド(ワーカースレッド)にするには,関数を static 宣言して AfxBeginThread() に渡す.
【その1】
class Foo {
UINT thread_loop(); // スレッドの本体
public:
static UINT thread_entry(LPVOID v) {
((Foo*)v)->thread_loop();
}
...
};
Foo foo;
AfxBeginThread( &Foo::threqad_entry, &foo );
【その2】
class Foo {
public:
static UINT ThreadProc(LPVOID pParam);
};
AfxBeginThread(ThreadProc, (LPVOID)this);
参照
クラス内コールバック関数
ワーカースレッドからメンバアクセス