【初心者歓迎】C/C++室 Ver.64【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0113デフォルトの名無しさん
2009/02/19(木) 05:55:23AfxBeginThread(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でも同じなんです。マルチスレッドをクラスのメンバでやるのはそうとう強引で特殊ですか?
■ このスレッドは過去ログ倉庫に格納されています