2012-04-28 65 views
0

我正在做一個程序來管理二叉樹,但我這裏有一個問題:在C++指針引用的方法調用

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-> getsubarbol_der()返回一個指向nodo(nodo *)的指針。

但是我有這樣的錯誤,同時呼籲insertar ARBOL類的方法: 錯誤:調用沒有匹配的函數「ARBOL :: insertar(Nodo *,浮動&)」 |

回答

3

我認爲基本問題是,p->getsubarbol_der()返回一個臨時的,你試圖通過非const參考insertar()通過臨時。