转自原文 error C2440 “static_cast” 无法从“void (__thiscall C* )(void)... error C2440: “static_cast”: 无法从“LRESULT (__thiscall CTextProgressCtrl::* )(UINT,LPCTSTR)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM). 开发平台由VC6.0升级至VS2005以上的版本,需要将原有的项目迁移,可能碰到类似错误:…
  按照孙鑫的教程添加自定义消息时,如果是VC6.0开发环境,也许没有什么 问题,但在VS2008中编译会报错的 无法从"void (__thiscall CtestDlg::* )(void)"转换为"LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)" 这是因为VS2008中消息返回值不允许为void,且消息参数不能为空,消息映射三处分别如下 #define UM_MYMESSAGE (WM_USER + 1)   afx_…
出现这个错误的原因可是“人力不可抗拒”之原因造成的,因为旧版本的 ON_WM_NCHITTEST 宏使用了 UINT (__thiscall CWzButton::* )(CPoint); 类型的类成员函数指针,其定义如下: #define ON_WM_NCHITTEST() \ { WM_NCHITTEST, 0, 0, 0, AfxSig_wp, \ (AFX_PMSG)(AFX_PMSGW)(UINT (AFX_MSG_CALL CWnd::*)(CPoint))&OnNcHitTest…
1.VC6中,说可以把函数在头文件中定义为:afx_msg void OnProgress()这样 但是在VS2005及以上,要求很严格,必须函数返回值为LRESULT类型,所以在VS2005及以上,需要修改为 LRESULT afx_msg OnProgress(WPARAM, LPARAM); 其中,后面两个参数不管用不用得上,都要写. 2.添加消息映射没差别 3.自己写的函数原型如下: LRESULT CMainFrame::OnProgress(WPARAM wParam,LPARAM…
原文转自 http://blog.csdn.net/yinxing408033943/article/details/7601698 解决方法: 找到  UNIT CStaticLink::OnNcHitTest(CPoint point) 将UNIT 改为LRESULT…
static_cast” : 无法从“void (__thiscall CMainFrame::* )(NMTOOLBARA *,LRESULT *)”转换为“void (__thiscall CCmdTarget::* )(NMHDR *,LRESULT https://blog.csdn.net/beer888/article/details/3754820?utm_source=blogxgwz3 error C2440: “static_cast”: 无法从“void (__thisca…
在Visual Studio 2010中,即使代码是完完全全按照孙鑫视频中的敲,也会在出现error C2440,这是因为开发平台由VC6.0升级至VS2010,需要将原有的项目迁移.VS2010对消息的检查更为严格,以前在VC6.0下完全正常运行的消息映射在VS2010下编译不通过. 百度了解决方法如下(亲测可用): 例如:TestDlg.cpp中ON_REGISTERED_MESSAGE(WM_INITDIALOG, &CTestDlg::OnInitDialog):第一:把原来的消息函数返…
error C2440: "初始化": 无法从"std::_List_const_iterator<std::_List_val<std::_List_simple_types<Observer *>>>"转换为"std::_List_iterator<std::_List_val<std::_List_simple_types<Observer *>>>" 如果传递过来是一…
void setMaterial(const GLfloat mat_diffuse[4],GLfloat mat_shininess){static const GLfloat mat_specular[]={0.0f,0.0f,0.0f,1.0f};static const GLfloat mat_emission[]={0.0f,0.0f,0.0f,1.0f}; glMaterialfv(GL_FRONT,GL_AMBIENT_AND_DIFFUSE,mat_diffuse);glMate…
原文地址:http://blog.csdn.net/onlyou930/article/details/5602654 圆环套圆环之迭代器 话说这一日是风平浪静,万里乌云,俺的心情好的没得说,收到命令清理A区(写部分代码,其中有在VC6下己完成的代码要移植到VC7下),一路上很轻松,用‘饭得标’的话来说就是‘卡卡’地!在快完成时出现错误. error C2440: “类型转换” : 无法从“std::vector<_Ty>::iterator”转换为“PPkgHead”with[_Ty=BYT…
1.错误描述 TypeError: Error #1034: 强制转换类型失败:无法将 "0.49" 转换为 mx.graphics.IFill. at mx.charts.series::LineSeries/updateDisplayList()[E:\dev\4.0.0\frameworks\projects\datavisualization\src\mx\charts\series\LineSeries.as:1091] at mx.core::UIComponent/val…
转自:http://zhidao.baidu.com/link?url=VfSSkA0xfTVwNKaKh4tqW_sXlcsK-Rb16nEtQw5zaq5_306lnwJN3Kdb-rFp-r4LbhEXhPaoLPW9vVUDefvUFa [问题]: 错误在call2函数的第三行.在actionWithTarget(this,callfuncN_selector(Play1::call3));这里,我想回调call3,取一个随机的值.可是好像因为类型问题,一直不行.求帮忙!!! [回答]:…
通常是因为xxx yyy 两个不同链接名的元件 使用了同一个属性名…
编译程序的时候出现这样的错误,原因是在新建MFC项目的时候,设置字符集Unicode的属性. 解决方法一: 在VC2010的解决方案管理器窗口内,右击你的项目“项目”,然后选“属性”(最后一项),再点“配置属性”,是个“+”号,把它展开,然后选“常规”选项卡,倒数第三项“字符集”,选择“使用多字节字符集”.问题解决. 不过还是建议使用Unicode,否则你的程序将有很大的局限性:要是你的程序只在西方发布还好,但毕竟是适应中国大陆的程序吧,所以建议使用Unicode. 解决方法二: 使用调用CSt…
在使用VS2010编写运行时动态链接dll文件时出现的一个问题,问题解决得益于此文章: http://blog.sina.com.cn/s/blog_6a2236590100xbgl.html 通过调用这个函数:LoadLibrary出现的该问题.原因 :工程只支持UNICODE字符解决方法:1.在解决方案资源管理器中的工程上右键属性->配置属性-->常规--->字符集---->使用多字节符字符集 2.也就是宽字符,所以下面这行代码,应该编译有错误hinst=LoadLibrary…
遇到这个问题,请打开本项目的Properties(属性)-------> Configuration Properties(配置属性)-------->General(常规)------->Character Set(字符集)  把Use Unicode Character Set(使用Unicode字符集) 改成使用  Use Multi-byte Character  Set (使用多字节字符集).最后别忘了  应用------>确定.…
8.错误 C2440: “static_cast”: 无法从“void (__thiscall CView::* )(UINT,LONG)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”  问题 原因:VC6.0的消息映射函数方法,升级至VS2005以后,不能再这样使用. 解决方法:把原来的消息函数返回值类型改为LRESULT,函数内可以随便写个return TRUE; 然后消息函数的参数必须改写成(WPARAM wParam,LPARAM l…
首先可以直接用Visual Studio 2008的打开VC6的工作区文件和项目文件(dsw和dsp),并将其升级为VS2008的解决方案格式和项目格式(sln和vcproj),VC9的编译器相对于VC6有了很大的变化,一些编译参数和链接参数被废弃(比如/map:line),有一些改变了名称,还有新增的选项,不过不用担心,升级过程会自动对其进行转换,最终都会得到一个正确的解决方案和VC项目文件,这个过程不会遇到太多的麻烦,问题都出在随后的编译过程中,下面就将我在移植的过程中遇到的问题和我的解决方…
直接转换的时候遇到两个问题: 1.预编译头文件*.PCH找不到 2.static_cast": 无法从"void (__thiscall CView2::* )(void)"转换为"LRESULT (__thiscall CWnd::* 1.来源:http://www.zhuyanfeng.com/archives/2231 错误: fatal error C1083: 无法打开预编译头文件:"Debug\xxx.pch": No such fi…
============================================================================================= 20140518_第一次修改                       ccb_warlock ============================================================================================= 摘抄来源:      ht…
 在将vc6.0程序转换到vs2005或者vs2008.vs2010时提示:error C2440: 'static_cast' : cannot convert from 'UINT (__thiscall CStaticLink::* )(CPoint)' to 'LRESULT (__thiscall CWnd::* )(CPoint)   解决方法:找到  UNIT CStaticLink::OnNcHitTest(CPoint point) 将UNIT 改为LRESULT  error…
我的VS2008不知道是有bug还是自己的问题,很多时候变量定义后CTRL+F5运行却没反应,一定要“生成解决方案”下才行? 1.没有可用于当前位置的源代码 将工具->选项->调试->常规->去掉“要求源文件与原始版本完全匹配”复选框就OK 在解决方案资源管理器中右击解决方案->属性->通用属性->调试源文件.在不查找这些源文件对话框中查看是否有你想要调试的源文件,如果有就删除这一行,保存. 2.已触发了一个断点 VS2008再出怪现象:已触发了一个断点!!很是悲…
vc6版本支持的库编译:CJ60lib 1. 用vs2010打开CJ60库的源码的dsw,强制打开 (1)设置项目属性的语言 因为,如果代码字符的编码集不一样,则会出现函数冲定义,参数冲突等问题,这可以通过修改项目属性可以修改. 因为VS2010默认示宽字符,所以,编译要从VC6(默认窄字符),要修改项目属性为不使用宽字符. 2. 编译:项目,方式如下: (1)“编译”,出现一下问题: 定位文件,做一下修改 (2)再次build only 2.1 warning C4819: 该文件包含不能在当…
下列为VC6.0 工程转到VS2008一些问题的描述及解决方法 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1. warning:   D9035 : Fr"选项已否决,并将在将来的版本中移除              D9036 : 使用“FR”而不使用“Fr" 解决方法:     设置Projec…
用VS2010打开vc6.0的工程时,遇到了很多的问题,下面记录下解决办法. 1. 报错: error C2065: “i”: 未声明的标识符 解决办法: 提出 i 的申明,因为 i 的申明可能在for循环里. 2. 报错: error C2440 “static_cast” 无法从“void (__thiscall CMainFrame::* )(void)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)” 解决办法: 例如:Transpare…
1>------ 已启动生成: 项目: NMW210, 配置: Debug Win32 ------ abs_position = fabs((float)posiTemp1 - (float)posiTemp2); 1>c:\nmw210\smw200dlg.cpp(1127): error C2664: “time”: 不能将参数 1 从“long *”转换为“time_t *” //long lTime; time_t lTime;//txwtech error C2660: “CWnd…
系统环境:Windows 7 专业版,Visual Studio 2010,ArcGIS Engine 9.3 1.创建项目 创建一个WPF的项目,必须选择.Net framework 3.5(AE9.3不支持.Net4.0),添加引用: ESRI.ArcGIS.3DAnalyst ESRI.ArcGIS.AxControls ESRI.ArcGIS.Carto ESRI.ArcGIS.Controls ESRI.ArcGIS.Display ESRI.ArcGIS.Geometry ESRI.…
错误信息: error C2440: “static_cast”: cannot from “BOOL (__thiscall CSelectRect::* )(void)” to “BOOL (__thiscall CWnd::* )(CDC *)” 解决方案: 把Begin Messsage Map里的方法删掉.…
vc6.0代码转vs2017相关问题 命令行 error D8016: “/ZI”和“/Gy-”命令行选项不兼容fatal error C1083: 无法打开包括文件: “WinSock2.h”: No such file or directory(打开项目属性-配置属性-常规-平台工具集-‘Visual Studio 2010(v100)那一项’-重新编译)D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tool…
Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M).至于是否需要DLL支持,主要看你采用的编译选项.如果是基于ATL的,则Debug和Release版本对DLL的要求差不多.如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持.Release  Build不对源代码进行调试,不考虑MFC的诊断宏,使用的是MFC  Release库,编译十对应用程序的速度进行优化,而Debug  Build则正好相…