我正在制作一个程序来管理二进制树,但是这里有一个问题:

void Arbol :: insertar(Nodo*& p, float clave)
{
    if(p == NULL){
        p = new Nodo(clave);
    }else if(clave < p->getclave()){
        insertar(p->getsubarbol_izq(), clave);
    }else{
        insertar(p->getsubarbol_der(), clave);
    }
}


Nodo *&是树(Arbol)中每个节点(nodo)中指针的引用。

p-> getsubarbol_der()返回一个指向nodo(nodo *)的指针。

但是在调用Arbol类的insertar方法时遇到此错误:
错误:没有匹配的函数可以调用“ Arbol :: insertar(Nodo *,float&)” |

最佳答案

我认为基本问题是p->getsubarbol_der()返回一个临时目录,而您试图通过非const引用将该临时目录传递给insertar()

关于c++ - c++指针引用方法调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10365828/

10-10 23:08