为什么我的VC++加了using namespace std;不能用呢?
源程序:#include<iostream.h>#include<math.h>usingnamespacestd;intmain(){doublex,y,z;x=5.0...
源程序:#include<iostream.h>
#include<math.h>
using namespace std;
int main()
{
double x,y,z;
x=5.0;
y=4.0;
z=sqrt(x*x+y*y);
cout<<"hypotenuse is"<<z<<endl;
return 0;
}
出错:D:\VC++\MSDev98\MyProjects\a\s.cpp(3) : error C2871: 'std' : does not exist or is not a namespace
哪位高手解释一下啊??
不胜感激!! 展开
#include<math.h>
using namespace std;
int main()
{
double x,y,z;
x=5.0;
y=4.0;
z=sqrt(x*x+y*y);
cout<<"hypotenuse is"<<z<<endl;
return 0;
}
出错:D:\VC++\MSDev98\MyProjects\a\s.cpp(3) : error C2871: 'std' : does not exist or is not a namespace
哪位高手解释一下啊??
不胜感激!! 展开
2个回答
展开全部
寒,
iostream.h的形式是C++98之前的库头文件名,那时候还没有加入名字空间(namespace)的概念,所以你include 的时候就直接include iostream.h,不需要加using namespace,C++98中才加入了namespace 的概念,为了减少名字冲突,并把C++的新标准库头文件制定为不加.h后缀的,而使用其中的函数和类方法就必须使用跨过namespace来访问了。
你用的VC6吧,那老东西还是丢了吧,Windows下下个MinGW Studio好用到叫,而且还是Linux下GCC中的C/C++编译内核,比VC好多了,Dev C++太慢,不推荐。
要不然你去下个Linux玩玩,Linux就全然是Developer的天堂了,N多方便的工具和各种语言编译器应有尽有,最重要的是他们完全开源,基本你每下一个App都是连代码包一起下的。
我现在用的是我心爱的Mandriva,不要以为Linux就是一个黑框,Linux现在的GUI是很漂漂的^_^,和Windows有的一比。
iostream.h的形式是C++98之前的库头文件名,那时候还没有加入名字空间(namespace)的概念,所以你include 的时候就直接include iostream.h,不需要加using namespace,C++98中才加入了namespace 的概念,为了减少名字冲突,并把C++的新标准库头文件制定为不加.h后缀的,而使用其中的函数和类方法就必须使用跨过namespace来访问了。
你用的VC6吧,那老东西还是丢了吧,Windows下下个MinGW Studio好用到叫,而且还是Linux下GCC中的C/C++编译内核,比VC好多了,Dev C++太慢,不推荐。
要不然你去下个Linux玩玩,Linux就全然是Developer的天堂了,N多方便的工具和各种语言编译器应有尽有,最重要的是他们完全开源,基本你每下一个App都是连代码包一起下的。
我现在用的是我心爱的Mandriva,不要以为Linux就是一个黑框,Linux现在的GUI是很漂漂的^_^,和Windows有的一比。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询