[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. 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 ^^
    0
    1. c'est que v'ampire tu as declare une fonction ennemie mais une variable ennemie.
      0
      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...
        0
        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...
          0
          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.
            0
            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 ?
              0
              1. je pense que tu dois declarer une variable qui s'appelle ennemi a l'interieur du fichier "ennemi.h".
                0
                1. Aucune réponse ?
                  0
                  1. ?????
                    0
                  2. Non ?
                    0