souci de compilation sur dev c++

souci de compilation sur dev c++ - C++ - Programmation

Marsh Posté le 25-11-2007 à 11:52:51    

Bonjour à tous,
 
je me suis lancé dans le c++ pour utiliser la POO.
 
Mais j'ai un souci de compilation avec dev c++!
 
J'ai donc cherché sur internet si je pouvais trouver la solution mais impossible de mettre la main dessus!
 
J'ai créer (à l'aide d'un cours sur internet) un programme qui utilise deux classe : Personnage et Arme.
 
J'ai donc créer un fichier Personnage.h(pour indiquer les attributs et méthodes de la classe Personnage) et un fichier Personnage.cpp(pour executer les void). idem pour Arme.
 
Et bien sur le main.
 
Mais lorsque je compile, le compilateur m'indique une erreur : "In file included from main.cpp" dans le main. La ligne concernée est celle qui inclue le fichier Personnage.h (#include "Personnage.h" ).
 
Et je ne vois pas ce que je dois faire pour résoudre ce problème.
 
Alors je ne sais pas si je dois mettre mon code (ce qui va être un peu long).
 
Si quelqu'un a une idée je suis preneur.
 
merci à tous.

Reply

Marsh Posté le 25-11-2007 à 11:52:51   

Reply

Marsh Posté le 25-11-2007 à 12:14:53    

Eh bien il faudrait que tu nous donne au moins le message d'erreur complet, ou bien le contenu de tes fichiers.

Reply

Marsh Posté le 25-11-2007 à 12:19:57    

Salut,
 
Alors bizzarement l'erreur n'est plus! je ne comprend pas pourquoi. Hier  et ce matin ça la tout le temps fait et la comme par miracle, elle n'apparait plus.
 
En revanche trois autre problème surviennent.
 
Le premier concerne un void :
 
void Personnage::recevoirDegats(int nbDegats) //cela permet au compilateur de savoir que cette méthode se rapporte à la classe Personnage
{
     m_vie- = nbDegats; //On enlève le nombre de dégats reçus à la vie du personnage
     
     if(m_vie < 0) //Pour éviter d'avoir une vie négative
     {
              m_vie = 0; //On met la vie à 0, donc le personnage meurt
     }
}
 
Le compilateur, ici, m'indique que m_vie- = nbDegats,  "expected primary-expression before '=' token.
 
 
Deuxième erreur est la meme que celle du dessus mais au lieu de m_vie-, c'est m_vie+.
 
Et la troisième erreur se trouve dans un void aussi :
 
void Personnage::changerArme(string nouvelleArme, int degatsNouvelleArme)
{
     m_arme.changer(nomNouvelleArme, degatsNouvelleArme); //appelle de la méthode changer de m_arme.Le Personnage répercute donc la demande de changement d'arme à la méthode changer de son objet m_arme
}
 
le compilateur m'indique " 'nomNouvelleArme' undeclared(first use this function". Alors que nomNouvelleArme est déclaré dans le fichier Personnage.h.
Ce meme fichier personnage.h est mis en include dans le fichier Personnage.cpp (fichier où est constaté l'erreur).
 
merci pour ton aide.

Reply

Marsh Posté le 25-11-2007 à 12:55:03    

Bon, pour commencer, ou as tu vu qu'il fallait mettre un espace entre le + et le = quand tu fais += ? Pareil avec le moins ......
 
Ensuite si tu pouvais mettre ton code entre des balises "code" dans ton message ca rendrait le tout beaucoup plus lisible (coloration syntaxique).
 
Et pour ta troisieme erreur... il faut que tu nous montre l'endroit dans Personnage.h ou est declare nomNouvelleArme.
 

Reply

Marsh Posté le 25-11-2007 à 13:07:24    

Pour les espaces c moi qui est mal interprété.
 
Désolé pour l'affichage de mon code mais je n'ai pas l'habitude des forums.
 
La troisième erreur est résolue...OUF!
 
merci beaucoup pour ton aide Ace17.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed