Partage
  • Partager sur Facebook
  • Partager sur Twitter

using namespace qui fait bloquer mon compileur

Sujet résolu
    12 octobre 2007 à 23:15:07

    J'avais posté dans le forum "Langage C" sans le vouloir, pouvez vous supprimer le même topic du forum "Langage C" svp ? Sinon j'expose donc mon problème ici.

    Tout simplement...

    1. #include <iostream>
    2. #include <string>
    3. #include "Personnage.h"
    4. using namespace std;
    5. Personnage::Personnage() : nom_("Anonyme"), vie_(100), atk_(15), def_(10), agi_(5), intel_(0), spec_(0), is_def(false)
    6. {
    7. }
    8. Personnage::Personnage(string nom) : nom_(nom), vie_(100), atk_(15), def_(10), agi_(5), intel_(0), spec_(0), is_def(false)
    9. {
    10. }


    Et la réponse du compileur (ou compilateur je sais pas):

    Compiling: Personnage.cpp
    C:\Users\..\Documents\C++\RPG\Personnage.cpp:5: error: expected unqualified-id before "using"
    C:\Users\..\Documents\C++\RPG\Personnage.cpp:5: error: expected `,' or `;' before "using"
    C:\Users\..\Documents\C++\RPG\Personnage.cpp:12: error: expected `)' before "nom"
    C:\Users\..\Documents\C++\RPG\Personnage.cpp:12: error: expected `,' or `;' before "nom"
    Process terminated with status 1 (0 minutes, 4 seconds)
    4 errors, 0 warnings


    Pourquoi réagit-il de cette façon alors qu'avec le main il n'y a aucun problème et un using namespace ?
    • Partager sur Facebook
    • Partager sur Twitter
      12 octobre 2007 à 23:19:19

      Visiblement c'est dans l'en-tête (le .h) qu'il y a un problème de syntaxe.
      (on dit compilateur)
      • Partager sur Facebook
      • Partager sur Twitter
        12 octobre 2007 à 23:22:28

        Personnage.h:

        1. #ifndef CLASS_PERSONNAGE
        2. #define CLASS_PERSONNAGE
        3. class Personnage
        4. {
        5.     public:
        6.         Personnage();
        7.         Personnage(std::string nom);
        8.         void attaquer(Personnage &cible);
        9.         void perdre_vie(int degats);
        10.         void defendre();
        11.         bool fuir();
        12.         void atk_spec(Personnage &cible);
        13.         bool vivant();
        14.         int get_atk();
        15.         int get_def();
        16.         int get_agi();
        17.         int get_intel();
        18.         int get_spec();
        19.         bool get_is_def();
        20.         void afficher_etat();
        21.         ~Personnage();
        22.     private:
        23.         std::string nom_;
        24.         int vie_;
        25.         int atk_;
        26.         int def_;
        27.         int agi_;
        28.         int intel_;
        29.         int spec_;
        30.         bool is_def;
        31. }
        32. #endif


        Par contre j'ai enlevé le using namespace std et mis std::cout là où il le fallait, mais il apparaît un autre problème...

        -------------- Build: default in RPG ---------------
        Compiling: Personnage.cpp
        C:\Users\..\Documents\C++\RPG\Personnage.cpp:5: error: new types may not be defined in a return type
        C:\Users\..\Documents\C++\RPG\Personnage.cpp:5: error: return type specification for constructor invalid
        C:\Users\..\Documents\C++\RPG\Personnage.cpp:10: error: expected `)' before "name"
        C:\Users\..\Documents\C++\RPG\Personnage.cpp:10: error: expected `,' or `;' before "name"
        Process terminated with status 1 (0 minutes, 4 seconds)
        4 errors, 0 warnings
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          12 octobre 2007 à 23:31:07

          Revois les classe : ';'
          Ce n'est pas comme les espaces, mais comme les structures.
          • Partager sur Facebook
          • Partager sur Twitter
            12 octobre 2007 à 23:34:27

            o_O

            C'est trop bête, je voyais pas cette erreur et elle était sous mon nez !

            Merci beaucoup (ça m'apprendra tiens...)
            • Partager sur Facebook
            • Partager sur Twitter

            using namespace qui fait bloquer mon compileur

            × 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.
            • Editeur
            • Markdown