读书人

编译器有关问题

发布时间: 2012-03-04 11:13:33 作者: rapoo

编译器问题

error C2440: 'static_cast' : cannot convert from 'void (__thiscall CDBSchemaDlg::* )(UINT,LONG)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'f:\c++\dbtool\dbschemadlg.cpp94

代码是用vc6写的到我这边以后用vs2005编译就出这个问题,求解答。。

[解决办法]
(从VC6到VS2005)MFC的一些消息处理函数的签名修改了,做一下相应的修改就可以了。比如上面的,VC6的处理函数可能是这样的:
void handleXXX(UINT, LONG);
改到VS2005里面就是要求
LRESULT handleXXX(WPARAM, LPARAM);

[解决办法]
楼上正解,也可以强制类型转换一下

读书人网 >C++

热点推荐