hacker.jin 发表于 2014-12-10 23:26:45

VC++6.0和VS2008语法上有何差异!望大神解答

vc6.0的程序vs2008上编译不了!


1>e:\c\1321\1321\1321.cpp(160) : error C2065: “cout”: 未声明的标识符
1>e:\c\1321\1321\1321.cpp(162) : error C2653: “std”: 不是类或命名空间名称
1>e:\c\1321\1321\1321.cpp(162) : error C2065: “cout”: 未声明的标识符



有头文件~
#include <iostream>
#include <string>
#include <stdafx.h>

GHOST-DN 发表于 2014-12-10 23:46:13

这个太简单了,估计你没学过c++ cout是c++里的标准输出流。你用vs是不是自动生成代码了

GRRRARD 发表于 2014-12-11 22:04:23

可能少了一句命名空间吧,using namespace std;试试

hacker.jin 发表于 2014-12-12 08:59:43

尼玛二楼楼就是个菜鸟!
三楼的去试下!~

花落、季 发表于 2014-12-12 18:04:39

改成这样:
#include “stdafx.h”
#include <iostream>
#include <string>

因为你在项目中设置了使用预编译头,在创建工程的时候是默认勾选这个选项的,你可以重新创建一个工程注意看一下
关于预编译头的问题你就可以百度了~

小海儿~ 发表于 2014-12-12 19:59:53

using namespace std;

黄志伟 发表于 2014-12-12 20:51:02

新手介意用vc6.0

艳光的盛宴 发表于 2014-12-13 23:56:37

其实差别不大!有个重要差别是 for(int i=0;j<NUM;i++).这个在6.0和9.0编译时候i的作用域完全不一样的!所以写程序最好携程规范C++!

艳光的盛宴 发表于 2014-12-13 23:59:51

直接汇编 xch

ilboyvm 发表于 2014-12-14 00:16:10

现在用VS2013,scanf要写成scanf_s

阿新狼 发表于 2014-12-15 13:29:53

在前面加上全局标识符::(两个冒号)

钻地鼠 发表于 2014-12-15 15:53:38

新手还是VC6.0++吧,比较靠谱

longtian 发表于 2014-12-17 12:08:34

艳光的盛宴 发表于 2014-12-13 23:56
其实差别不大!有个重要差别是 for(int i=0;j

这个不仅仅是作用域的问题,是C99和C90的的标准区别
页: [1]
查看完整版本: VC++6.0和VS2008语法上有何差异!望大神解答