`

vs2005对vs2003之c++编译 zz

阅读更多

作者msn space http://spaces.msn.com/zzqsc/

STL的iterator不能初始化了,否则会报错。

         std::vector<std::string>::iterator it=0;
         vs2003可以编译,但在2005下就报错:cannot convert from 'int' to 'std::_Vector_iterator

         必须写成

         std::vector<std::string>::iterator it

         这个问题应该在是由于类型检查更严格造成的。估计其他类似的使用方法也可能存在问题

一些字符串相关的操作会警告说是不推荐的方法。


         例如,如果使用了strcpy函数的话,就会出如下警告

         warning C4996: 'strcpy' was declared deprecated
       
        这是应为微软发明了“安全的C++”概念,意思是说,strcpy是不推荐使用的函数。

在vs2005下,数据类型必须明确定义

         const entrysize=0x10c;//在vs2003下是可以编译的

         但在vs2005下报错:error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

         必须修改成:const int entrysize=0x10c;

for循环条件中定义的变量被归入for循环代码块了


         例如

         for(DWORD i=0;i<size;i++)
         {

              buffer[i]=0;

              //some other codes

         }

         buffer[i]=100;//这里会报i没有定义的错误;

         在2005中,必须写成这样:

         DWORD i=0

         for(i=0;i<size;i++)
         {

              //some codes

         }

         buffer[i]=100;

某些MFC做了变化


         Save(CFile file);

         以上代码在2003下可以使用,在vs2005中

         编译报错:error C2248: 'CObject::CObject' : cannot access private member declared in class 'CObject'

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=649641

分享到:
评论

相关推荐

    linux vscode便携版 + c++扩展

    另一款插件"danielpinto8zz6.c-cpp-compile-run-1.0.49.vsix"可能是用于C/C++编译和运行的辅助工具,它简化了编译和运行C++代码的过程,用户只需点击一下就可以完成代码的编译和执行,对于初学者或者快速测试代码...

    已经编译好的NTL 静态链接库

    在提供的压缩包中,"ntllib.lib"就是编译好的NTL静态链接库文件,你可以将其添加到你的C++项目中,通过链接这个库来使用NTL的功能。为了正确链接,你需要在编译时指定这个库文件的位置,并在源代码中包含相应的...

    UDP C++BUILDER2010

    UDP通讯 用了 IdUDPClient IdUDPServer 发TXT和发二进制数,为初学者引砖抛玉 在C++BUILDER2010 中编译通过

    zz.rar_visual c

    《Visual C++编程基础与实践——基于"zz.rar"案例解析》 Visual C++作为Microsoft公司推出的集成开发环境,是Windows平台上进行C++程序开发的重要工具。它集成了编译器、调试器以及资源编辑器等,使得C++开发者能够...

    [c、c++]宏中#和##的用法(zz).docx

    在C/C++编程语言中,宏是一种预处理器功能,用于在编译时替换文本。宏中的`#`和`##`运算符具有特殊的用途,它们在处理宏参数时起到关键作用。 `#`运算符被称为“字符串化”运算符。当`#`前面是一个未展开的宏参数时...

    高精度计算库_接口及静态库

    这个库由Visual Studio 2005(VS2005)编译,相较于之前的版本,它解决了与旧版VC6编译的库不兼容的问题,特别是解决了缺少`libcd.lib`依赖的问题。 NTL库提供了丰富的接口,允许开发者轻松地进行高精度算术操作,...

    gcc编译stm32f103+freeROTS代码

    GCC(GNU Compiler Collection)是一套由GNU项目开发的开源编译器,支持多种编程语言,包括C、C++等。在嵌入式开发中,由于目标平台和开发环境的不同,我们通常使用交叉编译,即在宿主机(例如Windows)上运行编译器...

    c++ H264文件逐帧提取 每帧可单独解码使用

    在C++中,H264文件的逐帧提取是一个涉及视频编码和解码过程的复杂任务。H264,全称为高级视频编码(Advanced Video Coding),是一种高效的视频压缩标准,广泛应用于数字电视、互联网视频和移动设备等领域。本项目...

    C++OpenCV3源代码漫水填充算法

    用户需要使用C++编译器来编译和运行这些源代码,这可能还需要OpenCV3库的支持。 综上所述,从这个文件信息中可以提取的知识点包括: 1. C++编程语言在软件开发中的应用,尤其是与计算机视觉库OpenCV3结合时。 2. ...

    NTL库包括编译好的静态链接库

    NTL库,全称为Number Theory Library,是一个专为数值理论计算设计的开源C++库,尤其在密码学领域有着广泛的应用。它包含了丰富的数学函数,如大整数运算、矩阵运算、多项式运算等,为密码算法的实现提供了强大的...

    DevC++-5.9.2.rar

    DevC++是一款轻量级的集成开发环境(IDE),主要用于编写C和C++程序。它在编程初学者中尤其受欢迎,因为它的用户界面简洁、直观,同时提供了许多实用的功能,帮助程序员快速上手编程。本篇文章将深入探讨DevC++ ...

    C++OpenCV3源代码用morphologyEx形态学顶帽运算

    ### C++ OpenCV3 源代码用 morphologyEx 进行形态学顶帽运算 #### 知识点一:OpenCV3简介与安装 OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,它包含了大量用于图像处理、计算机视觉和...

    visualcppbuildtools_full.rar

    在Python开发中,有时会遇到提示“Microsoft Visual C++ 14.0 is required”,这意味着系统缺少了编译Python扩展模块所需的C++编译环境。"Get it with 'Microsoft Visual C++'"是建议用户通过安装Microsoft Visual ...

    一个简单语言的编译程序设计与实现.rar

    通过程序设计实训,达到以下目的: 理解编译器的工作机制;(2)掌握编译器的构造方法;...语法分析部分设计的是小C语言文法,对整个代码进行语法分析。 通过文件的读入,和分析结果的读出进行代码的的编译分析。

    记账本源代码,C++ 实现

    标题 "记账本源代码,C++ 实现" 暗示了这是一个关于使用C++编程语言开发的简单记账应用程序的源代码项目。...通过学习和实践这个项目,开发者可以提升C++编程技能,同时对软件开发流程有更深入的理解。

    C++OpenCV3门源代码直方图均衡化

    C++是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程等多种编程范式。由于其高性能特性,C++被广泛应用于系统软件开发、游戏引擎、嵌入式系统等领域,...

    zz.rar_OpenGL_C++_

    这个"zz.rar"压缩包显然包含了使用C++语言实现OpenGL颜色叠加的一个学生作业项目。下面我们将深入探讨OpenGL和C++编程的相关知识点,以及可能涉及到的实现细节。 首先,OpenGL是一个跨语言、跨平台的应用程序编程...

    c++ 第三方日志库,纯源码非dll

    标题提到的“c++ 第三方日志库,纯源码非dll”指的是一个专门用于C++的第三方日志库,其特点在于提供源代码而不是预编译的动态链接库(dll)。使用源码形式的日志库有诸多优点,如避免了版本不兼容的问题,允许用户...

    YouCompleteMe+交叉编译工具链

    在IT行业中,尤其是在嵌入式开发领域,交叉编译是一种常见的技术,用于在一台系统上构建为另一台不同架构的系统编译软件。本主题主要围绕"Ubuntu"操作系统中的"vim"编辑器配置插件"YouCompleteMe"以及如何结合交叉...

Global site tag (gtag.js) - Google Analytics