调用CallWindowProc(,,,,)函数时出现错误
WNDPROC MyProc;
LRESULT TMyClass::WndProc(UINT uMsg,WPARAM wParam,LPARAM lParam)
{
.....
return CallWindowProc(MyProc,m_hWnd,uMsg,wParam,lParam);
.....
}
错误:
[C++ Error] Wndx.cpp(172): E2034 Cannot convert 'long (__stdcall *)(void *,unsigned int,unsigned int,long)' to 'int (__stdcall *)()'
[C++ Error] Wndx.cpp(172): E2342 Type mismatch in parameter 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long (__stdcall *)(void *,unsigned int,unsigned int,long)')
怎么解决
谢谢
问题点数:20、回复次数:2Top
1 楼Libran()回复于 2002-10-01 11:50:36 得分 20
需要进行转换,这样试试:
return CallWindowProc(reinterpret_cast<FARPROC>(MyProc),m_hWnd,uMsg,wParam,lParam);Top
2 楼Libran()回复于 2002-10-01 11:52:11 得分 0
节日快乐
注意休息:)Top




