本文主要是介绍从vc6.0转到vs中出现的错误解析!(有感于sift和surf移植),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从vc6.0转到vs2005 2008出现的错误解析
遇到问题咯,转的别人的文章~~
最近开发平台由VC6.0升级至VS2005,需要将原有的项目迁移,特将碰到的问题归纳如下:
1消息映射
VS2005对消息的检查更为严格,以前在VC6下完全正常运行的消息映射在VS2005下编译不通过
a. ON_MESSAGE(message,OnMyMessage);
OnMyMessage返回值必须为LRESULT,其形式为:afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);如果不符合,则有错误提示:
error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
在匹配目标类型的范围内没有具有该名称的函数
error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”
在匹配目标类型的范围内没有具有该名称的函数
b. ON_COMMAND_EX(id,OnMyMessage2);
在VS2005中,OnMyMessage返回值必须为BOOL,且含有一个
这篇关于从vc6.0转到vs中出现的错误解析!(有感于sift和surf移植)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!