il faut soit que tu crée un signal a 3 parametres, soit un slot a un seul parametres.
Perso je ferais comme ceci :
faire une petite fonction slot avec aucun parametres
Dans le .h
slot
void attaquerSlot();
Dans le .cpp
void attaquerSlot(){
// ici on va appeler la vrai fonctions qui fait ce que tu voulais
attaquer(david, c, d);
}
QObject::connect(m_boutonAttaque, SIGNAL(clicked()), this, SLOT(attaquerSlot()));
et voila, le probleme est contourné