Saludos, soy nuevo en el foro y ya vengo a pedir ayuda jeje tengo un problema con un tp q tengo q entregar en la facu. Sucede que me llama al costructor Usuaruio::Usuario() q no existe, pero no entiendo xq lo hace.
Código:
class Usuario {
private:
string nombre;
Lista<string>* amigos;
Lista<string>* intereses;
Pila<string>* actividadesRecientes;
public:
Usuario(string nombreusuario){
nombre = nombreusuario;
amigos = new Lista<string>;
intereses = new Lista<string>;
actividadesRecientes = new Pila<string>;
}
y el llamado problematico viene de aca:
Código:
void agregarUsuario(string nombre) {
Usuario nuevoUsuario(nombre);
if (!(this->usuarios->Esta(nuevoUsuario)))
{
this->usuarios->agregar(nuevoUsuario);
}
else
this->consola->getSalida()<< "El usuario "<<nombre<<" ya existe."<<endl;
return;
}
Luego cuando quiere crear un nodo miren:
Código:
void insertar(T dato, Nodo<T>* anterior, Nodo<T>* siguiente) {
/* crea el nodo */
Nodo<T>* nuevo = new Nodo<T>(dato); // EL ERROR ESTA ACA, AHORA MUESTRO EL
// CONSTRUCTOR DEL NODO
nuevo->setAnterior(anterior);
nuevo->setSiguiente(siguiente);
/* actualiza los nodos anterior y siguiente */
if (anterior != NULL) {
anterior->setSiguiente(nuevo);
} else {
/* actualiza el primero en caso de insertar al comienzo */
this->getLista()->setPrimero(nuevo);
}
if (siguiente != NULL) {
siguiente->setAnterior(nuevo);
} else {
/* actualiza el último en caso de insertar al final */
this->getLista()->setUltimo(nuevo);
}
/* se queda en la posición que insertó */
this->setActual(nuevo);
}
NODO Y CONSTRUCTOR:
Código:
template<class T> class Nodo {
private:
/* elemento almacenado */
T dato;
/* puntero al siguiente nodo */
Nodo<T>* siguiente;
/* puntero al anterior nodo */
Nodo<T>* anterior;
public:
Nodo(T dato) { // Esta linea llama a Usuario::Usuario()
this->setDato(dato);
this->setSiguiente(NULL);
this->setAnterior(NULL);
}
Desde ya muchas gracias, espero q alguien entienda cual es el problema