| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 938 人关注过本帖
标题:请教关于重载>>运算符
取消只看楼主 加入收藏
注册好难啊
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
快速回复:请教关于重载>>运算符
数据加载中...
 
   



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

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