これは、この質問の続きです。
私には次の割り当てがあります。
WNDCLASSEX wndClass =
{
sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0, 0,
GetModuleHandle( NULL ), NULL, NULL, NULL, NULL,
"D3D Tutorial", NULL
};
wc = wndClass;
これにより、次のエラーが発生します。
1> e:\ rat_engine \ rat_engine \ rat_engine \ rat_rendererdx9.cpp(19):エラーC2440:「初期化中」:「オーバーロードされた関数」から「WNDPROC」に変換できません
1>スコープ内のこの名前の関数はどれもターゲットタイプと一致しません
MsgProcに下線が引かれているので、次の関数を参照する必要があります。
LRESULT WINAPI RAT_RendererDX9::MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
switch( msg )
{
case WM_DESTROY:
CleanUp();
PostQuitMessage( 0 );
return 0;
case WM_PAINT:
Render();
ValidateRect( hWnd, NULL );
return 0;
}
return DefWindowProc( hWnd, msg, wParam, lParam );
}
チュートリアルでは、このように機能し、ほぼ正確にコピーしました。では、エラーはどこから発生し、どうすれば修正できますか?
編集:
MsgProcの宣言は次のとおりです。
private:
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );