VS2013 метод обратного вызова wndProg

Я хочу иметь класс, который создает окно с WinAPI. Функция wndproc должна быть методом указанного класса. Поэтому я нашел способ сделать это (см. Код ниже), но, к сожалению, он не будет компилироваться с VS2013.
Этот код скомпилирован с VS2010 без ошибок или предупреждений.

В моем .h файле:

typedef long(__stdcall* WNDPROC)(void*,unsigned int,unsigned int,long);

class LWindow
{
private:
//...

static LRESULT CALLBACK wndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);public:
LWindow(int width, int height, bool framed);
~LWindow();

//...
};

В моем файле .cpp:

LWindow::LWindow(int width, int height, bool framed)
{
//...
WNDCLASS wc = {0};
wc.lpfnWndProc = wndProc;
//...
}

Сообщение об ошибке

1>l:\opt\microsoft visual studio 12.0\vc\include\xrefwrap(283): error C2064: term does not evaluate to a function taking 0 arguments

0

Решение

Что ж. Теперь, поиграв с этим куском кода в течение почти часа и возясь с линией static LRESULT CALLBACK wndProc..., поскольку он не дал мне четкого номера строки, я обнаружил, что я включаю некоторые серьезно старые файлы, которые вызывают проблемы.
Спасибо, @edtheprogrammerguy, это был намек, который мне был нужен!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]