El error viene de aqui:
Código C++:
Ver originalSimulador::Simulador(Personaje a, Personaje b)
: jugador(a),
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 originalSimulador::Simulador(Personaje a, Personaje b)
{
jugador = new Personaje(a);
enemigo = new Personaje(b);
}
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):