hur.cn - 华软网

 热门搜索

VC Studio改了标准库怎么办?

  作者:未知    来源:网络    更新时间:2011/8/13
代码如下:
#include <iostream>

class myclass
{
......
// Input and output

ostream &write(ostream &out) const;

istream &read(istream &in);
......
}
编译时报
error C4430: 缺少类型说明符 
以及
error C2061: 语法错误 : 标识符“ostream”
error C2061: 语法错误 : 标识符“istream”

就是说VC Studio编译器竟然不认识ostream与istream.
请问能说下产生这类问题的具体原因及解决方法吗?

---华软 网友回答---
#include <iostream>
using namespace std;
加上空间名的引用。
---华软网友回复---
谢谢,问题解决,解问讲讲原因吗?以后类似问题有个解决思路。
---华软网友回复---
引用 2 楼 aloneone 的回复:
谢谢,问题解决,解问讲讲原因吗?以后类似问题有个解决思路。


因为所有的C++标准库都是在std这个空间中,引用标准库有两种方式,以ostream为例:
第一种:程序最开始加上using namespace std;,表示引用std空间中的东西不再需要加上std前缀。
第二种:在所有引用库的名字前加上std::前缀例如,std::ostream 。

如果你对空间命名概念不清楚的话,先去查书。
---华软网友回复---
去看C++ 98标准,新的标准规定了标准库都在std命名空间里。
---华软网友回复---
哪位能解释下具体的原因吗?
---华软网友回复---
我以前直接用<iostream>就可以了,现在为什么非要加个命名空间才行,是不是VC编译器默认使用了别的命名空间?
---华软网友回复---
你以前用的VC6吧。。。珍爱生命,远离VC6

各种不支持标准,各种奇怪的问题,总少不了VC6
---华软网友回复---
珍爱生命,远离编程。讨厌的兼容问题。
---华软网友回复---
#include <iostream>
using namespace std;

---华软网友回复---
楼主,我给你搞吐得了...
---华软网友回复---
vc6用iostream也得加using namespace
你以前是不是用的iostream.h?
---华软网友回复---
标准模板库
---华软网友回复---
#include <iostream>

class myclass
{
//......
// Input and output

std::ostream &write(std::ostream &out) const;

std::istream &read(std::istream &in);
// ......
};
--------------------------------------
你要不你写成这样,就是难看了一点~
没有直接写using namespace std;好看
---华软网友回复---
C++ Ox 标准即将出台了








     
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。