Is there a way to wrap WndProc as private member?
If I have this:
class Window
{
public:
Window();
virtual ~Window();
void create();
private:
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
};
And in my create()
this:
WNDCLASSEX wc;
wc.lpfnWndProc = (WNDPROC) &Window::WndProc;
I get this warning:
warning: converting from 'LRESULT (Window::*)(HWND, UINT, WPARAM, LPARAM) {aka long int (Window::*)(HWND__*, unsigned int, unsigned int, long int)}' to 'WNDPROC {aka long int (__attribute__((__stdcall__)) *)(HWND__*, unsigned int, unsigned int, long int)}' [-Wpmf-conversions]
And my window HWND
is NULL
, GetLastError()
also returns 0.
How can this be fixed?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…