最近在visual studio 2005 下建立了win32 console app 工程来编写 c++ 程序,可是出现了些让人摸不着头脑的问题:
比如:(1)在使用 rand()函数时,编译器无法识别该函数,当然是包含了其头文件了的。
      (2)#include<iostream.h>时,编译时却找不到该文件,而改成#include<iostream>却又     行。而在使用其cout操作时,非得在前面加上std::才被认可。
等等的小问题真是层出不穷。致使无法进一步工作。
而在visual c++ 6.0 版本下,这些问题都不存在。
所以想问一下:visual studio 2005 出现与 visual c++ 6.0 的不兼容,该如何解决。才能在2005下面类似的编程。如果在vs 2005 需要什么规则变动的,请谁能不能介绍一下,谢谢!!!    

解决方案 »

  1.   

    1)在使用 rand()函数时,编译器无法识别该函数,当然是包含了其头文件了的。
    //=========
    需要#include<cstdlib>2)#include<iostream.h>时,编译时却找不到该文件,而改成#include<iostream>却又行
    //==========
    需要使用名称空间
    using namespace std;
      

  2.   

    你所遇到的问题,其实是标准C++和以前的老版本的差别的问题,在VC6中,对C++标准支持并不好,所以有些不规范的用法成了习惯,而在VS2005中,全面支持最新的C++标准,所以你以前的不规范用法就编译不过,多用VS2005编编程,熟悉一下就好了
      

  3.   

    所谓的问题,其实是vc.net2005更符合标准了
      

  4.   

    vc6.0对c++标准支持不好的,同时也说明了你的程序过时了,不符合c++新的标准,呵呵,改过来就好了
      

  5.   

    确切的讲,VC++6.0发布的时候,STL的标准还未正式发表,VC6.0的template是自家定义的标准,几个月后,STL横空出世。在这次模板库标准制定战中,M$失败了,没有象它的Windows和directX那样得到承认,但是它一直硬撑着,一直到2002年发布VS.net 2003时,才正式沉入那失败,接受STL标准。在这期间,由于windows平台支撑的优势,许多programer都不是在Linux上工作的,而Borland 的C++ builder远不如想象中好用,虽然delphi曾经辉煌一时,但是PASCAL语言本身的局限注定了delphi只是回光返照,因此在此期间不少人选择了VC++6.0,特别是国内大学C++教学中,当然,其中如果碰上负责人的教师,他/她会告诉你,不用STL问题不大,用STL的话,可移植性就要出问题了;也许,你的老师自己也不知道这点。
      

  6.   

    主要差别是在namespace上。
    看一下CPP Primer上的例子,或者看一下STL的文档,将习惯矫正一下就好了。
    当然,如果你转到Linux下,混一个星期,立马就习惯了.....
      

  7.   

    #include <iostream>
    using namespace std;要是你在WIN下编程的话 建议使用VS2003或2005  VC6 老了~~~
      

  8.   

    看标准c++的书啊,c++ primer讲的就是标准c++.
    vc 2005对iso c++支持很不错。