Código:
TENGO ESE COD PARA ELIMINAR UNA PLANTILLA PERO SOLO ELIMINA SI ES PRIMERO Y SI ES EL DEL MEDIO O ASI NO HACE NADA Y SI ES EL ULTIMO BORRA TODO MENOS EL ULTIMO... EL ERROR ES EN EL PUNTERO PERO NO SE COMO ARREGLARLO void Lista<T>::eliminarId(string id){ Nodo<T>* aux1; Nodo<T>* temp; Nodo<T>* actual=primerNodo; Nodo<T>* ante=primerNodo; Nodo<T>* sigue=primerNodo->obtenerSiguiente(); Iterador<T>* i = obtenerIterador(); T* tmp = i->proximoElemento(); if (actual ==NULL) { cout << "La lista esta vacia"<<endl; } if ( tmp->getId()==id && primerNodo->obtenerSiguiente()== NULL) { primerNodo=NULL;} ///////////////////////////////////////////////////////////////////////////////////// //En caso de ser el primero de una lista de varios elementos if ( tmp->getId()==id && primerNodo->obtenerSiguiente()!= primerNodo ) { primerNodo=primerNodo->obtenerSiguiente(); actual=NULL; } else{actual = actual->obtenerSiguiente(); sigue=primerNodo->obtenerSiguiente(); while(actual !=NULL) { if(tmp->getId()==id) {aux1=ante->obtenerSiguiente(); aux1=sigue;actual=NULL; } tmp = i->proximoElemento(); actual = actual->obtenerSiguiente(); primerNodo = primerNodo->obtenerSiguiente(); sigue = sigue->obtenerSiguiente(); ante = ante->obtenerSiguiente(); } } }