永发信息网

友元+运算符重载(模板函数)

答案:3  悬赏:10  手机版
解决时间 2021-01-03 20:05
friend seqList operator+(const seqList &r1,const seqList &r2);
上面的声明有什么问题?

warning: friend declaration 'seqList operator+(const seqList&, const seqList&)' declares a non-template function [-Wnon-template-friend]|

note: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) |
最佳答案
有两种方法:
一种是直接把函数体写在类声明friend的地方
friend seqList operator+(const seqList &r1,const seqList &r2) {
    ......
}二是换个模板参数,否则会有模板类型重名(shadow)的提示
template
friend seqList operator+(const seqList &r1,const seqList &r2);
全部回答
  • 1楼网友:我住北渡口
  • 2021-01-03 06:18
template friend seqList operator+(const seqList &r1,const seqList &r2); 前面还应该加个template
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯