一个简单的问题,望高手赐教!!

yulg614 2003-03-08 02:23:06
istream & operator >>(istream & io, String & s)
{ const int limit_string_size=4096;
char inbuf[limit_string_size];
io>>setw(limit_string_size)>>inbuf;
s=inbuf;
return io;
}
这个函数有什末错误?
编绎时出现error C2804: binary 'operator >>' has too many parameters
...全文
32 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
WeltactXp 2003-03-08
  • 打赏
  • 举报
回复
加个friend关键字就OK啦
bm1408 2003-03-08
  • 打赏
  • 举报
回复
运算符重载的问题!
如果定义在是类的成员函数,对于一员运算符来说是无参的!对于二员运算符来说只有一个参数!因为他隐藏了类本身作为一个参数THIS
如果定义在类的外部也即是普通函数,对于一员运逄符来说是一个参数,对于二员运算符来说应该是两个函数,而且一定要把这个函数声明为类的友元!
概念不清啊!
allen1981813 2003-03-08
  • 打赏
  • 举报
回复
iostream的从载必须是friend的
egxsguo 2003-03-08
  • 打赏
  • 举报
回复
看你的函数是什么函数了
我估计你的函数是成员函数,成员函数前一个参数作为this指针而不写出来
windcsn 2003-03-08
  • 打赏
  • 举报
回复
istream & operator >>(istream & io, String & s)
{
io>>s;
return io;
}这样不就行了吗?
windcsn 2003-03-08
  • 打赏
  • 举报
回复
你程序的目的是什么啊?
windcsn 2003-03-08
  • 打赏
  • 举报
回复
你的setw是什么东西啊?

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧