关于VC中 error C2871: 'std' : does not exist or is not a namespace问题

运行以下代码:

#include (iostream.h)
using namespace std;

编译时出现 error C2871: 'std' : does not exist or is not a namespace 问题。


原来 C++有两个不同版本的头文件。未引入命名空间以前编译器用的是#include(iostream.h),而引入命名空间std以后头文件需要使用#include(iostream)。

(iostream.h)是比较老的C++的头文件的版本,而namespace是98年才被加入C++标准的,所以里面是没有std这么个命名空间的,当使用#include(iostream.h)时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现。#include(iostream)头文件则没有定义全局命名空间,使用时必须使用namespace std才能正确使用cout。

vc6.0支持这个两个版本. 不过现在都用了。


解决方案

只需将以上语句改为:

#include(iostream) 
using namespace std;

或者

#include(iostream.h)

即可。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花