标题:请教关于重载>>运算符
取消只看楼主
注册好难啊
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-1-18
 问题点数:0 回复次数:2 
请教关于重载>>运算符
头文件:
#include <iostream.h>
class String;
istream& operator>>( istream&, String& );
class String{
...

cpp文件:
#include "(头文件名)"
#include <iomanip>
using namespace std;

inline istream& operator>>( istream &is, String &str )
{
const int limit = 4096
char inBuf[ limit + 1 ];
is >> setw( limit ) >> inBuf;
str = inBuf; //=号重载过了
return is;
}

在VC6上编译时提示:error C2872: 'istream' : ambiguous symbol;把#include <iomanip>
,using namespace std和setw( limit )去掉编译才能通过;但是连接就出错了,如果把CPP文件中的内容全部放到头文件里面才能运行起来.
哪位大哥帮忙解释一下.多谢!
搜索更多相关主题的帖子: 运算符 重载 
2006-01-18 17:58
注册好难啊
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-1-18
得分:0 
试过了,没用~~~试了很多方法都不行,网上也找不到类似问题,希望有牛人帮忙解决!
2006-01-18 19:43
注册好难啊
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-1-18
得分:0 
多谢大家!
第一次知道MSDN里还可以查错误类型...
2006-01-19 21:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-43340-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179588 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved