Saludos, soy nuevo en esta seccion del 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.
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:
void agregarUsuario(string nombre) {
Usuario nuevoUsuario(nombre);
if (!(this->usuarios->Esta(nuevoUsuario)))
{
[COLOR="Blue"]this->usuarios->agregar(nuevoUsuario);[/COLOR]
}
else
this->consola->getSalida()<< "El usuario "<<nombre<<" ya existe."<<endl;
return;
}
Luego cuando quiere crear un nodo miren:
void insertar(T dato, Nodo<T>* anterior, Nodo<T>* siguiente) {
/* crea el nodo */
[COLOR="red"]Nodo<T>* nuevo = new Nodo<T>(dato);[/COLOR] [COLOR="red"]// EL ERROR ESTA ACA, AHORA MUESTRO EL
// CONSTRUCTOR DEL NODO[/COLOR]
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:
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:
[COLOR="red"] Nodo(T dato) {[/COLOR] // 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