在VC6.0和DevC++中怎么不能用cout,cin等一些c++的标准IO流函数

sunsea001 2004-11-24 08:57:54
#include <iostream>

main() {
cout <<"Hello world";
}

编译器会提示说
d:\Myfiles\cpp\helloworld.cpp(9): error C2065: “cout” : 未声明的标识符

DevC++中也是一样
请问该作如何设置?
...全文
1186 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmbee 2005-05-10
  • 打赏
  • 举报
回复
我使用vs2003
mmbee 2005-05-10
  • 打赏
  • 举报
回复
我是新手,现在遇上了相同的问题,看了以上回复,问题好像还是没有解决!

#include <iostream>

main() {
cout <<"Hello world";
}

报错: error C2065: “cout” : 未声明的标识符


标准C++库的头文件:iostream 毫无疑问是包含 cout 的,

那么为什么一定要加上 using namespace std;

报“未声明的标识符”的错误更是不可理解。



很困惑!请各位莫笑,能给与解答。
zhoujiamurong 2005-03-09
  • 打赏
  • 举报
回复
iostream.h 是微软公司写的一个非标准的头文件,因为用的人多,名字也好,搞得象标准似的
iostream 是标准C++的头文件,没有后缀名
idealpure 2004-11-25
  • 打赏
  • 举报
回复
呵~~~
楼主,吓了我一跳
avalonBBS 2004-11-25
  • 打赏
  • 举报
回复
同“寒~这样的问题N多回复" :)
franciz 2004-11-25
  • 打赏
  • 举报
回复
呵呵,我还很奇怪哩,为什么会有这种现象?

搞了半天原来是namespace没写上

就像我的小侄女,跟我说上网打不开百度搜索,我想不能吧?

结果她给我一试,我晕,原来她输入的是:http://www.baidu.con
yjh1982 2004-11-25
  • 打赏
  • 举报
回复
寒~这样的问题N多回复
Falling_angel 2004-11-25
  • 打赏
  • 举报
回复
名字空间,
提供名字空间是防止名字空间污染问题具体格式:
namespace namespace_name{
string str;
void print(){...};
//设定一些成员,可以是数据成员或者是函数成员
};
在外面的函数,或者是类想访问namespace_name的成员必须加"namespace_name::"比如:"namespace_name::"str"
这样就可以访问了,热没有"namespace_name::"就是错误的,
或者可以写using namespace namespace_name;就可以直接使用了如:str
名字空间就是防止重复的一种机制
paybfly 2004-11-24
  • 打赏
  • 举报
回复
#include <iostream>

main() {
std::cout <<"Hello world";
}


#include <iostream>
using namespace std;
main() {
cout <<"Hello world";
}

#include <iostream.h>

main() {
cout <<"Hello world";
}
ckmk 2004-11-24
  • 打赏
  • 举报
回复
和我一样的菜鸟,哈,一起努力!
oyljerry 2004-11-24
  • 打赏
  • 举报
回复
using namespace std;
命名空间
pacman2000 2004-11-24
  • 打赏
  • 举报
回复
using namespace std;
这是常见的错误。
MCR 2004-11-24
  • 打赏
  • 举报
回复
^-^
e5022 2004-11-24
  • 打赏
  • 举报
回复
两种写法
using namespace std;
……
cout << "Hello, world" << endl;
第二种:
std::cout << "Hello, world" << std::endl;
其中的std是C++标准名字空间,所有的系统定义名字空间都是它的。所以引用时要加上,以前的一些非标准的C++也许不需要
angelchang 2004-11-24
  • 打赏
  • 举报
回复
如果你写上using namespace std;头文件就不用带.h 如果你不用using namespace std;头文件就要写上.h。原因:传统的指令应该是:#include<iostream.h>,在.net中少了.h后缀变为#include<iostream>使有。造成这种差异的原因是,visual c++.net 2003删除了旧的iostream库,因而不能再用原来的include指令调用iostream库,但是std命名空间里仍有c++标准库的定义,其中当然包括iostream库,不过std里定义的c++标准库对应的头文件没有.h后,如原来的iostream.h变为iostream原来的string.h变为string,因此预处理命令相应的也没有了.h后缀。
在6.0里面使用using namespace std;道理是一样的
iori_nazha 2004-11-24
  • 打赏
  • 举报
回复
using namespace 这是必须的啊
retry 2004-11-24
  • 打赏
  • 举报
回复
我晕
using namespace std;


或者
你每个field都带上std

using std::cin;
sky_1982 2004-11-24
  • 打赏
  • 举报
回复
同意
写上using namespace std;头文件就不用带.h
lyjing 2004-11-24
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;

#include<iostream.h>
qnjian 2004-11-24
  • 打赏
  • 举报
回复
同意以上:
如果你写上using namespace std;头文件就不用带.h 如果你不用using namespace std;头文件就要写上.h。原因:传统的指令应该是:#include<iostream.h>,在.net中少了.h后缀变为#include<iostream>使有。造成这种差异的原因是,visual c++.net 2003删除了旧的iostream库,因而不能再用原来的include指令调用iostream库,但是std命名空间里仍有c++标准库的定义,其中当然包括iostream库,不过std里定义的c++标准库对应的头文件没有.h后,如原来的iostream.h变为iostream原来的string.h变为string,因此预处理命令相应的也没有了.h后缀。
在6.0里面使用using namespace std;道理是一样的

加载更多回复(15)

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧