注册 登录
编程论坛 C++教室

[求助]为什么会超载啊~~

a19870502 发布于 2007-12-25 12:55, 1050 次点击
template <class T>link<T>* circularlist<T>::cduplicate()const
{
    link<T>* newcircularlist=new circularlist<T>;
    assert(newcircularlist!=0);
    newcircularlist=new ptrtolastlink->(value,ptrtonexlink);
    link<T>*p=ptrtolastlink->ptrtonextlink;
    if(p!=ptrtolastlink)
        p=p->duplicate();

    return newlist;
}

template <class T>link<T>* link<T>::duplicate()const
{
    link<T>* newlist;
    if(ptrtonextlink!=0)
        newlink=new link<T>(value,ptrtonextlink->duplicate());
    else
        newlink=new link<T>(value,0);
    assert(newlink!=0);
    return newlist;
}
link<T>链类,然后我把circularlist(循环表)声明为链的友元。这个函数是实现循环表复制的。duplicate是链中的复制函数(这个函数没有问题)
但是编译时说循环表:unable to resolve function overload。应该就是说超载吧~~~麻烦各位啦!!!谢谢!!
6 回复
#2
StarWing832007-12-28 08:41
无法解析函数重载。函数重载是通过形参的类型来区分的。形参类型和数量相同的时候编译器无法决定引用哪个函数,产生二义性。计算机里面有超载这个术语吗???
#3
中学者2007-12-28 18:22
注意一下编程风格,这样看起好累!
#4
xzx10020022007-12-28 20:18
overload 译为重载,第一次听说是超载,晕。
#5
StarWing832007-12-29 02:46
LZ把over当成“超过”讲了。其实这里over有“在……之上,覆盖”的意思,所以应该是重载~
#6
a198705022007-12-29 14:10
哈?不好意思啊!!!因为是初学者~~~所以大家不要见怪啊~~~多谢大家的意见!又学到东西了。

至于说编程的风格~~~要怎么才好呢?
#7
hero20072007-12-29 21:06
确实看的累,我还准备学习一下什么叫超载呢 : (
1