关于在类模板中实现友元函数的问题

Veini Veini 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
编写一个类模板,在类模板中重载了运算符,并把该函数声明为友元函数.如果在类体外定义该友元函数,则出现如下编译错误:
main.obj : error LNK2019: 无法解析的外部符号 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class SeqList<int> const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABV?$SeqList@H@@@Z),该符号在函数 _main 中被引用
D:\c++练习\SeqList\Debug\SeqList.exe : fatal error LNK1120: 1 个无法解析的外部命令

如果是在类模板中直接定义该友元函数,则能成功编译并运行.这是为什么?
...全文
评论 10
收藏 已收藏
分享
返回顶部
Veini
C++ 语言 65,214 成员 250,514 内容