| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1175 人关注过本帖
标题:c++初级问题,希望得到帮助。
只看楼主 加入收藏
飘到心海
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:79
专家分:145
注 册:2009-5-3
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:10 
c++初级问题,希望得到帮助。
为什么这个程序用Visual c++6.0编译总是出错啊?
#include<iostream.h>
using namespace std;
int main()
{
  cout<<"Hello!\n";
  cout<<"Welcome to c++!\n";
}
为什么编译结果总是又一个错误:“std is not a namespace”.这是为什么呢。上面那个程序是书上的例题。是我软件的问题吗?希望得到大家的解答。
搜索更多相关主题的帖子: 初级 
2009-09-05 17:49
bccrf
Rank: 1
来 自:山东菏泽
等 级:新手上路
帖 子:4
专家分:3
注 册:2009-8-25
收藏
得分:2 
建议你用Microsoft Visual Studio 2005,这个不错。
我用的就是它。
你刚才的代码我在上面运行了。没有什么错误啊!
你可以换种写法例如:
#include<iostream.h>
using std::cout;
int main()
{
  cout<<"Hello!\n";
  cout<<"Welcome to c++!\n";
}
可以把"using namespace std;"换成"using std::cout;"
估计就没有什么问题啦!
2009-09-05 19:11
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:2 
把VC的include和LIB目录加入VC的系统目录里,它在“工具”=》“选项”=》“目录”窗口里添加
2009-09-05 20:55
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:2 
以下是引用飘到心海在2009-9-5 17:49的发言:

#include<iostream.h>
using namespace std;
.


你要么

#include<iostream.h>

要么

#include<iostream>
using namespace std;

2009-09-05 21:14
最左边那个
Rank: 4
等 级:业余侠客
威 望:3
帖 子:97
专家分:201
注 册:2009-4-24
收藏
得分:2 
回复 2楼 bccrf
你能给我解释下 using namespace std 的意思嘛?
我是这么理解它的,我认为你要用这个, 说明你之前定义std-----namespace std
可现在没有,所以才出来未定义或不存在的报错!
我不知道这样理解对不对,你能给我解释一下嘛?
2009-09-05 22:14
最左边那个
Rank: 4
等 级:业余侠客
威 望:3
帖 子:97
专家分:201
注 册:2009-4-24
收藏
得分:0 
同意第4楼说法
2009-09-05 22:16
擦除笔迹
Rank: 2
等 级:论坛游民
帖 子:6
专家分:15
注 册:2009-9-4
收藏
得分:2 
百度知道里搜的答案:
ostream.h
是很久以前的头文件,当时新的C++标准还没有出炉,所以依然保持和旧有的C风格的头文件一样的后缀“.h”;然而,新C++标准出台后,为了和以前的,特别是C语言中的头文件以示区别,统统将“.h”后缀去掉了。并且,还引入了“命名空间”的概念——namespace

这是因为随着库的不断增大,难免会遇到“命名冲突”的问题,引入命名空间,就是说:某个变量名或常量名只在它所属的命名空间下,才是有意义的。离开了它的命名空间,该名称不可用——这就解决了命名冲突的问题。

因此,当你阅读一些旧的书籍时,会发现大多使用
#include <iostream.h>
因为当时新标准还没有出台;而阅读近几年的书籍时,都是
#include <iostream>
using namespace std;

意思是——使用标准的全局命名空间!若你依然使用带后缀“.h”的预处理指令,那么编译器可能会通知:“XXX.h”文件不存在。

简言之,就是说,当你使用C语言的头件时,就带上“.h”;若使用C++的头文件时,就不要带后缀,而是声明使用所属的命名空间,一般写上
using namespace std;
这句就可以了。
2009-09-06 00:21
shaojin2005
Rank: 1
等 级:新手上路
帖 子:2
专家分:7
注 册:2009-8-29
收藏
得分:2 
  <iostrean.h>这个头文件是C语言中的,而名字空间namespace这个概念是c++中的,所以用了老式的头文件就不需要再加名字空间了
2009-09-06 12:34
a2696026
Rank: 2
等 级:论坛游民
帖 子:21
专家分:33
注 册:2009-9-9
收藏
得分:2 
以下是引用blueboy82006在2009-9-5 21:14的发言:

 
 
你要么
 
#include
 
要么
 
#include
using namespace std;
是的
  
我学的第一课就是这个
2009-09-09 15:42
dk313265478
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-11-11
收藏
得分:0 
学习了
2009-11-11 17:09
快速回复:c++初级问题,希望得到帮助。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029118 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved