为什么无法实现io重载?

xliu2019 2003-11-29 12:06:27
ostream & operator <<(ostream& os,Strings &s)
{
if(s.ps!=NULL)
os<<s.ps<<endl;
return os;
}
并且 在类中定义了 friend ostream & operator <<(ostream &os,Strings &s);

却连接不成功,提示Strings1.obj : error LNK2005: "class ostream & __cdecl operator<<(class ostream &,class Strings &)" (??6@YAAAVostream@@AAV0@AAVStrings@@@Z) already defined in Strings.obj
Debug/Strings.exe : fatal error LNK1169: one or more multiply defined symbols found
这是怎么回事呀?
...全文
80 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuleilover 2003-11-29
  • 打赏
  • 举报
回复
这个函数被定义过.
bing_huo 2003-11-29
  • 打赏
  • 举报
回复
如果是vc打个sp5上去就好了。。
houdy 2003-11-29
  • 打赏
  • 举报
回复
Strings1.obj , Strings.obj,
friend ostream & operator <<(ostream &os,Strings &s);
有String1,又有String,传的参数是String&,你这个函数在那个类中的定义了?
上面的错误显示,重复定义了,检查你的代码,怎么多出了个String1??

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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