私はこのWin32プログラムをWinApiで作成しようとしていますが、次のチュートリアルでは問題があるようです。C2440 C++ WinApiでLRESULTをWNDPROCに変換できません
MainWindow.h:
class MainWindow
{
public:
MainWindow(HINSTANCE);
~MainWindow(void);
LRESULT CALLBACK WndProcedure(HWND, UINT, WPARAM, LPARAM);
// [...]
MainWindow.cpp:
MainWindow::MainWindow(HINSTANCE hInstance) : hwnd(0)
{
WNDCLASSEX WndClsEx;
// [...]
WndClsEx.lpfnWndProc = &MainWindow::WndProcedure;
// [...]
}
LRESULT CALLBACK MainWindow::WndProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
// [...]
}
チュートリアルが言うとおりに私が署名を以下てるので、私はしかし、メインウィンドウ:: WndProcedureが間違って参照する必要があります
コンストラクタ内のlpfnWndProc行は、コンパイル時エラーを返します。
エラーC2440: '=': 'LRESULT(__stdcall MainWindow :: * )(HWND、UINT、WPARAM、LPARAM) 'から' WNDPROC '
エラーが発生しているラインは何ですか?私はそれがあなたが投稿したものだとは思わない。 – Mat
クラスメソッドに渡されるウィンドウメッセージを取得する慣用方法については、Raymond Chens [scratch program](http://blogs.msdn.com/b/oldnewthing/archive/2005/04/22/410773.aspx)を参照してください(Toメソッドの署名に 'static'が追加された後の次の論理的な質問に答えてください)。 – user786653