[C++] Probleme en POO

Résolu
Bonjour,

Je suis actuellement dans la POO en C++ sous Code Blocks .

J'ai trois classes :Personnage ,Ennemi ,Arme .

Je met une méthode dans ma classe Personnage qui sert à attaquer l'ennemi ,j'écris le prototype dans "Personnage.h":

void attaquer(Ennemi &cible);

Et sa m'indique comme erreur :

error : 'Ennemi" has not been declared
error: ISO C++ forbids declaration of 'cible' with no type

J'ai pourtant inclus "Ennemi.h" dans "Personnage.h".

Comment remédier a cela ?

Merci d'avance !!

Cordialement ,

Vvampire.

8 réponses

  1. je pense que tu dois declarer une variable qui s'appelle ennemi a l'interieur du fichier "ennemi.h".
    1. C'est bizarre ça ,j'avais d'abord déclarer une variable qui s'appelle ennemi dans "Ennemi.h" ,ca n'a pas marcher ,j'ai ensuite fais la même chose dans "Personnage.h" et sa a bien marcher !!!

      Merci pour tout winie ,tu ma mis dans la bonne voie =) .

      Mais explique moi quand même pk sa a marcher ?
      1. Contributeur
        L'erreur doit venir d'ailleurs.
        Il n'y a pas besoin d'avoir une variable pour déclarer une telle méthode.
        Si tu mettais le contenue des fichiers, nous y verrions plus clair.
        1. Modérateur
          Peux-tu nous faire voir Ennemi.h ? As-tu déclaré dans ce fichier le type Ennemi ou ennemi ? Car là, tout se passe comme si ce type n'avait jamais été déclaré. Sans avoir ton code, on ne peut pas trop dire...
          1. Char Sniper -> Moi-même je ne sais pas pourquoi sa a bien marcher alors que j'ai juste déclarer une variable de type "Ennemi" dans ma classe Personnage ,c'est vraiment bizarre ...

            Mais de toute façon le problème est régler...
            1. c'est que v'ampire tu as declare une fonction ennemie mais une variable ennemie.
              1. Bonjour,

                poste ton code en utilisant les balises code de ccm, je vais voir ce que je peut faire.

                PS: sa ressemble beaucoup au TP du site du zero ^^