Я пытаюсь написать эту программу для Win32 с WinApi, и я застрял, потому что у учебника, которому я следую, есть проблема.
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)
{
// [...]
}
Я должен ссылаться на MainWindow :: WndProcedure неправильно, потому что я следую подписи именно так, как сказано в учебнике, однако строка lpfnWndProc в конструкторе выдает ошибку времени компиляции:
ошибка C2440: '=': невозможно преобразовать из 'LRESULT (__stdcall MainWindow :: *) (HWND, UINT, WPARAM, LPARAM)' в 'WNDPROC'