09/02/19 05:55:23
いやいります。見捨てないでください
AfxBeginThread(CView::Proc, this);
//h
static UINT __cdecl Proc( LPVOID pParam );
static UINT __cdecl ProcAfter( LPVOID pParam );
//cpp
UINT CView::Proc( LPVOID pParam )
{
CView *const this_ptr = (CView *)pParam;
return this_ptr->ProcAfter();
}
UINT CView::ProcAfter( LPVOID pParam )
{
//実際にマルチスレッドで実行したい処理
}
なぜこう書かないといけないのかが理解できません。直接
AfxBeginThread(CView::ProcAfter, this);
こうしたいんですが、エラー出まくります。&CView::ProcAfterにしろとか、やっても仮想関数だとかになるんです。
Afxじゃくても_beginthreadexでも同じなんです。マルチスレッドをクラスのメンバでやるのはそうとう強引で特殊ですか?