fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1)记录
2016-05-29 11:12
501 查看
头文件用
#include <iostream.h>
但是当改成
#include <iostream>后,会出现
does not exist or is not a namespace
原因:
查了一下,原来 C++有两个不同版本的头文件。引入名字空间这个概念以前编译器用的是
#include <iostream.h>,
而引入名字空间的概念以后std名字空间的头文件名字变成了
<iostream>。
<iostream.h>是比较老的C++的头文件的版本,而
namespace是98年才被加入C++标准的,所以
<iostream.h>里面是没有std这么个命名空间的,当使用
<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现。头文件
<iostream>则没有定义全局命名空间,使用时必须使用
namespace std才能正确使用
cout。
vc6.0支持这个两个版本. 不过现在都用
<iostream>了
所以 ,只需将以上语句改为:
#include <iostream> using namespace std;
或者是
#include <iostream.h>即可。
到此,我也能理解为何本地编译不出错,而在银河超算上会出现错误了,银河超算只支持:
#include <iostream> using namespace std;
相关文章推荐
- C++ vector 用法
- leetcode #51
- min与windef.h
- C++ 重载(overload)、重写(overrride)、重定义(redefine)总结
- 【C++】EOF表示的是什么意思
- c++第六次实验
- HDU 2089-不要62(数位DP)
- C++笔试题之String类的实现
- c++第6次作业
- C++设计模式-参考资料
- C++ STL 的实现
- 一起talk C栗子吧(第一百五十七回:C语言实例--基于AF_UNIX域的数据报套接字通信)
- 字典序顺序加减 c++
- leetcode #50 in cpp
- leetcode #49 in cpp
- _T在C++下的使用与说明
- leetcode #48 in cpp
- C++第6次实验
- C/C++内存泄漏及其检测工具
- Effective C++: noexcept