简体   繁体   English

c ++指针引用方法调用

[英]c++ pointer reference method call

I'm making a program to manage binary trees, but I have a problem here: 我正在制作一个程序来管理二进制树,但是这里有一个问题:

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*& is a reference of the pointer in each node (nodo) in the tree (Arbol). Nodo *&是树(Arbol)中每个节点(nodo)中指针的引用。

p->getsubarbol_der() returns a pointer to nodo (nodo*). p-> getsubarbol_der()返回一个指向nodo(nodo *)的指针。

But I have this error while calling insertar method of Arbol class: error: no matching function for call to 'Arbol::insertar(Nodo*, float&)'| 但是我在调​​用Arbol类的insertar方法时遇到此错误:错误:没有匹配的函数可以调用'Arbol :: insertar(Nodo *,float&)'|

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM