フォワード宣言がうまくいかない(実際には私が意図した通りに動作するかどうかは分かりません)。フォワード宣言の問題
次のように私はcppのファイルを持っている:
今int DialogModeless::Create(int dialogID, Presenter* pPresenter)
{
Ptrs* pPtrs = new Ptrs;
pPtrs->pPresenter = pPresenter;
pPtrs->pWnd = _derived;
HINSTANCE hInstance = ::GetModuleHandle(NULL);
_hWnd = ::CreateDialogParam(hInstance, MAKEINTRESOURCE(dialogID), NULL, &Presenter::StatDlgProc,
reinterpret_cast<LPARAM>(pPtrs));
return 0;
}
私はそれを持っている方法は、プレゼンター:: StatDlgProcは私だけそのアドレスを取っておりますので、この時点で宣言するだけでよいということです。これは、私は、Visual Studio 2008から次のエラーを取得していますように、ケースではないようです。
エラーC2027:未定義の型「プレゼンター」
の使用私はコンパイルするコードをPresenter.hを含める必要が。
誰でもこのことを私に説明できますか?
私はこのような宣言に転送してみました:
class Presenter;
BOOL CALLBACK Presenter::StatDlgProc(HWND, UINT, WPARAM, LPARAM);
したがって、 'StatDlgProc'をどのように転送宣言しますか?コードを表示してください。 –