管中窥豹:VS2005与VC6的差别

原创 2006年06月22日 09:22:00

在VS2005调试IPMsg 2.6的源代码时发现以前在VC6编译完全没问题(或许是warning而未加注意)的代码报了Error,试举两例:

1) 临时变量的生存期不再顺延
  for (int cnt=0; .........)
 {
  ....
 }
 cnt = 1; //Works well in VC6, but causes ERROR in VS2005!
 
2) 函数名称再取地址才能赋给函数指针
class TRecvDlg : public TListDlg
{
 BOOL RecvDirFile(void);
}

创建一个函数指针指向成员函数,在VC6中直接将函数名称赋值给指针就可以了:
BOOL (TRecvDlg::*RecvFileFunc)(void) = TRecvDlg::RecvDirFile;

但在VS2005中,必须要将函数名称再取地址才能赋给函数指针!如:
BOOL (TRecvDlg::*RecvFileFunc)(void) = &TRecvDlg::RecvDirFile;
否则编译报error:
function call missing argument list; use '&TMainWin::SendDirFile' to create a pointer to member

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

从VC6迁移到VS2005 - METHOD

1.error C2512: 'CMyClass' : no appropriatedefault constructor available VC需要默认构造函数(显性),而JAVA不用。   ...

VC6到VS2005中的转换(转)

1、 error C2668: 'sqrt' : ambiguous call to overloaded function      在VS2005中存在sqrt函数的重载。当编译器看到sqrt(i...

VC6和VS2005(及2010)的一些区别总结

最近在学习《VC++深入详解》,以前本科做课设之类用的都是VC6,现在用VS2005感觉到不少地方还是不同的,有幸看到这篇文章,解决我的不少疑惑,转载收藏,便于以后查阅 VC6.0与VS2005...

程序从VC6移植到VS2005环境下的常见问题(三)

以下内容引自:http://hi.baidu.com/wuxiaoming1733/blog/item/6fc3df09e68dcc8ad1581b93.html 最近开发平台由VC6....

VS2005 VC6添加文件描述、guard宏

vs2005 Imports System Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Mod...

程序从VC6移植到VS2005环境下的常见问题(一)

以下内容引自:http://hi.baidu.com/liugang585570/blog/item/cda9ac3fa785f93771cf6c32.html 提示 WINVER n...

VC6和VS2005(及2010)的一些区别总结

VC6.0与VS2005的一些差别 分类:  一、         VC 6.0 中的 MFC ClassWizard 从 Visual Studio 2005 开始已被分拆成两个功能: ...

VS2005中使用mschart 与VC6中调用函数的区别

在VS2005中 1如果是对话框或是FORMVIEW中使用,添加ActiveX控件: Tools->choose toolbox items->COM components  选择Microsoft...

VC6和VS2005(及2010)的一些区别总结

VC6.0与VS2005的一些差别 分类:  一、         VC 6.0 中的 MFC ClassWizard 从 Visual Studio 2005 开始已被分拆成两个功能: ...

VC6 vs2003 vs2005 shortcut 工程中文件说明 一些基本技巧

调试快捷键 F6: 生成解决方案 Ctrl+F6: 生成当前项目 F7: 查看代码 Shift+F7: 查看窗体设计器 F5: 启动调试 Ctrl+F5: 开始执行(不调试) Shift...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)