Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/12/2012, 07:33
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 11 meses
Puntos: 606
Respuesta: Problema con operador new y paso de objetos como argumentos

El error viene de aqui:

Código C++:
Ver original
  1. Simulador::Simulador(Personaje a, Personaje b)
  2.     : jugador(a),
  3.       enemigo(b)

Lo que haces es que jugador sea el personaje "a" y enemigo el personaje "b". Para ello lo que haces es llamar al constructor de ambas variables pasandoles como parametro un "Personaje". Es decir, que en realidad es como si hicieses esto (o es lo que el compilador intenta hacer y falla):

Código C++:
Ver original
  1. Simulador::Simulador(Personaje a, Personaje b)
  2. {
  3.    jugador = new Personaje(a);
  4.    enemigo = new Personaje(b);
  5. }

Como en tu clase Personaje no tienes ningún constructor para Personaje y que acepte un personaje de entrada... es lo que hace que falle.

Para arreglarlo tendrías que añadir este constructor (e implementarlo):

Código C++:
Ver original
  1. Personaje::Personaje(Personaje p);
__________________
Aviso: No se resuelven dudas por MP!