bonsoir à tous.
Je suis sur le cours de c++ qui explique comment utiliser les class.
Mon problème c'est que code::blocks dit qu'il y a une erreur et je ne sais pas se que cela veux dire.
J'ai suivi le cours de matheo et relus plusieurs fois, mais je ne vois pas où se situe l'erreur.
Voilà l'erreur que code::blocks m'annonce au moment de la compilation:
Citation : code::blocks
Personnage.cpp: In constructor `Personnage::Personnage(std::string, int)':
Personnage.cpp:20: error: member initializer expression list treated as compound expression
Personnage.cpp:20: error: invalid conversion from `int' to `Arme*'
Voici le code:
Personnage.h
#ifndef DEF_PERSONNAGE #define DEF_PERSONNAGE
#include "Arme.h"
class Personnage { public:
Personnage();
Personnage(const Personnage &personnageACopier);//constructeur de copie
Personnage(std::string nomArme, int degatsArme);
~Personnage(); void recevoirDegats(int nbDegats); void attaquer(Personnage &cible); void boirePotionDeVie(int quantitePotion); void changerArme(std::string nomNouvelleArme, int degatsNouvelleArme); bool estVivant(); void afficherEtat();
private:
int m_vie; int m_mana;
Arme *m_arme; };
#endif
Personnage.cpp
#include <string> #include "Personnage.h"
usingnamespace std;
Personnage::Personnage() : m_vie(100), m_mana(100) {
m_arme = new Arme();
Personnage::Personnage(string nomArme, int degatsArme) : m_vie(100), m_mana(100), m_arme(nomArme, degatsArme)// ligne où il y a l'erreur {
m_arme = new Arme(nomArme, degatsArme);
int main() { // Création des personnages
Personnage david, goliath("Epee aiguisee", 20);
// Au combat !
goliath.attaquer(david);
david.boirePotionDeVie(20);
goliath.attaquer(david);
david.attaquer(goliath);
goliath.changerArme("Double hache tranchante veneneuse de la mort", 40);
goliath.attaquer(david);
// Temps mort ! Voyons voir la vie de chacun... cout << "David" << endl;
david.afficherEtat(); cout << endl << "Goliath" << endl;
goliath.afficherEtat();
system("PAUSE"); return0; }
Bon comme je vous l'ai dis je ne comprend pas l'erreur donc je met tout le code
En tout cas merci de m'éclairer car je ne vois pas vraiment comment tout ça se peut.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.