estoy insertándoles valores a un arbol binario de búsquedas, esto es lo que hice :
Código
struct Resumen_Paciente { string Clave; int Total_resNormales; int Total_resAnormales; }; typedef ArbolBB<Resumen_Paciente> arbolbb; typedef nodo<Resumen_Paciente> *ApuntadorBB; void Resumen_Resultado(arbolbb &arbolBB, Pila<OrdenExamen> &pila,ListaDob<Det_Examen> *listaDetalle) { Pila<OrdenExamen> aux; nodo2<Det_Examen> *p; ApuntadorBB ap; OrdenExamen ObjOrden; Det_Examen ObjDetalle; Resumen_Paciente ObjResumen; int acumNormal = 0; int acumAnormal = 0; ap = arbolBB.ObtRaiz(); while( !pila.Vacia() ) { pila.Remover(ObjOrden); aux.Insertar(ObjOrden); p = listaDetalle->ObtPrimero(); do { if( ObjDetalle.getValor() == "normal" ) { acumNormal++; p = listaDetalle->ObtDer(p); } else { acumAnormal++; p = listaDetalle->ObtDer(p); } } while( p != listaDetalle->ObtPrimero() ); ObjResumen.Clave = ObjOrden.getCedula(); ObjResumen.Total_resAnormales = acumNormal; ObjResumen.Total_resNormales = acumAnormal; arbolBB.Insertar(ap,ObjResumen); } arbolBB.AsigRaiz(ap); }
y me da los siguientes errores:
In file included from ArbolBB.h:18,
from main.cpp:9:
ArbolBB.cpp: In member function ‘bool ArbolBB<Tipo>::Insertar(nodo<Tipo>*&, Tipo) [with Tipo = Resumen_Paciente]’:
main.cpp:752: instantiated from here
ArbolBB.cpp:54: error: no match for call to ‘(std::string) ()’
ArbolBB.cpp:54: error: no match for call to ‘(std::string) ()’
ArbolBB.cpp:57: error: no match for call to ‘(std::string) ()’
ArbolBB.cpp:57: error: no match for call to ‘(std::string) ()’
// este es el metodo del error esta en la clase ArbolBB.cpp
Código
template <class Tipo> bool ArbolBB<Tipo>::Insertar(nodo<Tipo>* &p,Tipo valor) //El insertar lo hace en las hojas { Apuntador auxp,nuevo,ant; Tipo auxiliar; auxp=p; nuevo = CrearNodo(valor); if (p==NULL) //si esta vacio el arbol p=nuevo; else while (auxp!=NULL) { auxiliar = ObtInfo(auxp); if (valor.Clave() == auxiliar.Clave()) return false; else if (valor.Clave() < auxiliar.Clave()) { ant=auxp; //auxp=ObtIzq(auxp); auxp = auxp->Izq; //si puedo hacer esto if (auxp==NULL) InsHijoIzq(ant,valor); } else { ant=auxp; auxp=ObtDer(auxp); if (auxp==NULL) InsHijoDer(ant,valor); }; }; return true; };
no entiendo el error, les agradezco su ayuda!!