我正在制作一个程序来管理二叉树,但我有一个问题:
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 *&安培;是树中每个节点(nodo)中指针的引用(Arbol)。
p-&gt; getsubarbol_der()返回指向nodo(nodo *)的指针。
但是在调用Arbol类的insertar方法时我遇到了这个错误: 错误:没有匹配函数来调用'Arbol :: insertar(Nodo *,float&amp;)'|
答案 0 :(得分:3)
我认为基本问题是p->getsubarbol_der()
会返回一个临时问题,并且您试图通过非const
引用将该临时文件传递给insertar()
。