vc++中的cin和cout问题
来源:互联网 发布:linux centos ubuntu 编辑:程序博客网 时间:2024/04/27 22:08
今天写程序遇到了一个奇怪的问题,编译出错报告是:“error C2065: 'cout' : undeclared identifier”和“error C2065: 'cin' : undeclared identifier”,并且错误出在Search.h头文件里的一个函数中。
首先我怀疑是调入头文件的问题,于是仔细检查了头文件,我的头文件是
#include "SearchStruct.h"
#include "Search.h"
#include <stdlib.h>
#include <iostream.h>
感觉是对的, 包含了#include <iostream.h>呀,怎么会报错呀?于是上网搜资料,发现说是namespace问题,先现将namespace介绍如下:
名字空间,
提供名字空间是防止名字空间污染问题,具体格式:
namespace namespace_name{
string str;
void print(){...};
//设定一些成员,可以是数据成员或者是函数成员
};
在外面的函数,或者是类想访问namespace_name的成员必须加"namespace_name::"比如:"namespace_name::"str"
这样就可以访问了,若没有"namespace_name::"就是错误的,
或者可以写using namespace namespace_name;就可以直接使用了如:str
名字空间就是防止重复的一种机制
如果写上using namespace std;头文件就不用带.h 如果不用using namespace std;头文件就要写上.h。原因:传统的指令应该是:#include<iostream.h>,在.net中少了.h后缀变为#include<iostream>使有。造成这种差异的原因是,visual c++.net 2003删除了旧的iostream库,因而不能再用原来的include指令调用iostream库,但是std命名空间里仍有c++标准库的定义,其中当然包括iostream库,不过std里定义的c++标准库对应的头文件没有.h后,如原来的iostream.h变为iostream原来的string.h变为string,因此预处理命令相应的也没有了.h后缀。
在6.0里面使用using namespace std;道理是一样的
可以有两种解决方法:(1)加入预编译的 using namespace std;
(2)不加using namespace std;但将cout cin写成std::cin>>i;问题就解决了。
照这样我的程序就没错呀,我又试着改成 :#include<iostream>,并在其后加上using namespace std,结果还是报错。最后突然发现原来是自己没注意头文件的调用顺序,VC中编译文件是按顺序的即写在前面得先编译。于是调用头文件改为
#include <iostream.h>
#include "SearchStruct.h"
#include "Search.h"
#include <stdlib.h>
哈,问题终于解决了!
- vc++中的cin和cout问题
- C++中的 cout 和cin
- C++ cin 和cout 返回值问题
- cin和cout返回值问题
- c++中的cin,cout
- cin、cout的问题
- cin/cout 效率问题
- Cin和Cout
- 有关cin和cout
- C++中的endl搭配cout和cin用法
- C++语言中的输入输出流------cin 和 cout
- 关于Qt无法直接使用cout和cin的问题
- 关于Qt无法直接使用cout和cin的问题
- c++ cin和cout对象
- cin和cout格式控制
- cin和cout的使用
- VC问题:cin.get和cin.getline的区别?
- 浅谈c++中的cin与cout
- Linux普通用户使用libusb访问usb设备的方法
- MCITP: Windows Server 2008 Enterprise Administrator Study Guide: (Exam 70-647)
- 错误笔记-------表面很复杂的问题,往往出在最简单的地方
- 隔离级别 实例分析
- 增加javascript的trim函数
- vc++中的cin和cout问题
- 一个小的数学期望的公式变换
- Java:一个简捷的可分页的ResultSet实现
- 幕后英雄的用武之地——浅谈Java内部类的四个应用场景[转]
- 没有ActiveMovieControl Object这个控件
- 3千元买一个机器人平台+笔记本写程序来组成智能机器人!
- Spring学习笔记(二)
- VSS自动发布站点功能扩展
- vss 代码