VC++2008 MFCにてProgram作成初心者です。
AfxBeginThreadを使ってマルチスレッドを試みているのですが
'CMainFrame::WorkThread': 関数呼び出しには引数リストがありません。メンバへのポインタを作成・・・
でエラーとなってしまいます。
どこが悪いのかアドバイスをいただける方がいましたら助かります。
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
// TODO:
AfxBeginThread(WorkThread,this);
return TRUE;
}
UINT CMainFrame::WorkThread(LPVOID pParam)
{
return 0;
}
以上、よろしくおねがいします。
クラスの非スタティック関数をAfxBeginThread()で呼び出せ…ますかね?
http://msdn.microsoft.com/ja-jp/library/s3w9x78e(VS.80).aspx
でも、ワーカースレッドはクラスのメンバではないようですが……。
http://msdn.microsoft.com/ja-jp/library/s3w9x78e(VS.80).aspx
↑ドキュメントによれば、スレッド・エントリのプロトタイプは
UINT __cdecl MyControllingFunction( LPVOID pParam );
でなくちゃいかんので、staticでないメンバ関数は設定できんです。
# 薄皮一枚かぶせればイケますけども
ツイート | ![]() |