IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

definition de code au fichier.cpp


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut definition de code au fichier.cpp
    jai définit ce code dans le fichier.cpp sans mettre la déclaration au fichier.h
    code;:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ostream& operator<<(ostream& out, const Jeu& j) {
      for (unsigned int i(0); i < j.size(); ++i)
        out << "  + " << *(j[i]);// ligne d'erreur
      return out;
    }
    voila le msg d'erreur:
    binary '<<' : no operator defined which takes a right-hand operand of type 'class Carte' (or there is no acceptable conversion)

    Aidez moi SVP ç urgent

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Tu as défini dans Jeu operator [] comme renvoyant un objet de type Carte, objet que tu tentes d'afficher par un flux alors que tu n'as pas défini d'opérateur << prenant un objet de type Carte.
    That's all !

    PS1/ Le message d'erreur est ici très clair, avec le temps il serait bien d'apprendre à les lire.
    PS2/ Urgent ? On est pas là pour te servir, ton message n'est pas plus urgent qu'un autre.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Membre habitué
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    Oui jai compris ce que tu veux dire le pb que jai ç que je suis débutante en C++ et jessaye de me familiariser avec les fichier header et ficher.cpp je cherche des codes en Net pr séparer le code de sa définition
    Pour ce code je ne sais po pq me donne cette erreur parce que ca fonctionne tres bien lorsque tt le code et réunit dans le mm fichier.cpp
    pouvez-tvous me clarifier le pb SVP.

  4. #4
    Membre habitué
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    Personne n'a aucune idee

  5. #5
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par info_ Voir le message
    Personne n'a aucune idee
    Si. Soit tu as oublié de créer certaines fonctions, soit tout n'est pas visible là où il le devrait, soit tu ne compiles/linkes pas tout correctement.

    Dans tout les cas, sans avoir le code, il va être difficile de répondre.

  6. #6
    Membre habitué
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Par défaut
    voila le fichier.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //Jeu.h
    class Jeu : public vector<Carte*> {
    public:
    	Jeu(){ cout << "On change de main" << endl; }
    	virtual ~Jeu(){}
      void jette();
    };
    et le fichier.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    //Jeu_cpp.cpp
    ostream& operator<<(ostream& out, const Jeu& j) {
    	// surcharge d'opprrateur <<
      for (unsigned int i(0); i < j.size(); ++i)
        out << "  + " << *(j[i]);
      return out;
    }
     
    void Jeu::jette() {
    	// declaration de la fonction jette
      cout << "Je jette ma main." << endl;
      while (!empty()) {
        delete (*this)[size()-1];// vider l'objet this pour la taille size - 1
        pop_back();//supprime le dernier élément du vecteur
      }
    }
    quand on compile le code on recoit une erreur a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    out << "  + " << *(j[i]);
    en affichant :
    '<<' : no operator defined which takes a right-hand operand of type 'class Carte' (or there is no acceptable conversion)
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 06/05/2014, 16h38
  2. Conseil et code ouverture fichier word...
    Par Angeldu74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/04/2006, 08h37
  3. flash code pour fichier video probleme swf
    Par fasilafer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 24/02/2006, 09h37
  4. [Upload] un bug ds un code de fichiers
    Par jack_1981 dans le forum Langage
    Réponses: 7
    Dernier message: 09/12/2005, 12h44
  5. Réponses: 7
    Dernier message: 22/11/2005, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo