error C2440: “static_cast”: 无法从“void (__thiscall CVCadView::* )(int)”转换为“void (__thiscall CCmdTarget
2015-11-27 20:45
405 查看
项目从vc6.0升级到用vs2013编译,遇到了一些问题
1."fabs": 对重载函数的调用不明确
2.error C2593: “+=”不明确
3.for循环int i的声明要放到外边
4.如题
要解决这个问题其实很简单,开始百度了一下,解决方案大都是:
{
1、VC6中,说可以把函数在头文件中定义为:
afx_msg void OnProgress()这样 但是在VS2005及以上,要求很严格,必须函数返回值为LRESULT类型,所以在VS2005及以上,需要修改为
LRESULT afx_msg OnProgress(WPARAM, LPARAM);
其中,后面两个参数不管用不用得上,都要写。
2、添加消息映射没差别
3、自己写的函数原型如下:
LRESULT CMainFrame::OnProgress(WPARAM wParam,LPARAM lParam) { return TRUE; //注意要返回一个TRUE! }
}
但是试了一下,无法解决我的问题,重新分析error本身,error C2440: “static_cast”: 无法从“void (__thiscall CVCadView::* )(int)”转换为“void (__thiscall CCmdTarget::*)(UINT)
于是把响应函数参数从int改为UINT,问题解决,解决方案往往在问题本身之中,不要舍近求远
1."fabs": 对重载函数的调用不明确
2.error C2593: “+=”不明确
3.for循环int i的声明要放到外边
4.如题
要解决这个问题其实很简单,开始百度了一下,解决方案大都是:
{
1、VC6中,说可以把函数在头文件中定义为:
afx_msg void OnProgress()这样 但是在VS2005及以上,要求很严格,必须函数返回值为LRESULT类型,所以在VS2005及以上,需要修改为
LRESULT afx_msg OnProgress(WPARAM, LPARAM);
其中,后面两个参数不管用不用得上,都要写。
2、添加消息映射没差别
3、自己写的函数原型如下:
LRESULT CMainFrame::OnProgress(WPARAM wParam,LPARAM lParam) { return TRUE; //注意要返回一个TRUE! }
}
但是试了一下,无法解决我的问题,重新分析error本身,error C2440: “static_cast”: 无法从“void (__thiscall CVCadView::* )(int)”转换为“void (__thiscall CCmdTarget::*)(UINT)
于是把响应函数参数从int改为UINT,问题解决,解决方案往往在问题本身之中,不要舍近求远
相关文章推荐
- Web用户的身份验证及WebApi权限验证流程的设计和实现(尾)
- PGP下载
- String和StringBuffer的区别
- MPEG-DASH VS. APPLE HLS VS. MICROSOFT SMOOTH STREAMING VS. ADOBE HDS
- cc、gcc、g++、CC的区别概括
- 链表的一些基本操作
- 2015第48周五
- Web用户的身份验证及WebApi权限验证流程的设计和实现(续)
- GrabCut in One Cut(基于图割算法grabcut的一次快速图像分割的OpenCV实现)----目前效果最好的图割
- GrabCut in One Cut(基于图割算法grabcut的一次快速图像分割的OpenCV实现)----目前效果最好的图割
- python 异常处理(二)
- OpenCV笔记(一)
- 图——最小生成树的普里姆算法
- 杭电1501 hdu1501 Zipper(深搜dfs)
- git 操作积累
- leetcode 刷题---Best Time to buy and sell stock
- 完整的 HTML 4 + HTML 5 实体参考手册
- Tabcontrol中隐藏显示某个选项卡
- 第13周—项目5 拓扑排序算法验证
- 6【学校教学系统】跳站