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 :

Problème c++ : classe, previous definition


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut Problème c++ : classe, previous definition
    Bonsoir à tous,

    Voilà mon problème. Je dois programmer un jeu en langage c++ et pour cela, j'ai définit 2 classes ("couple" pour les couple d'éléments, et "plateau" avec un tableau).
    J'ai définit une fonction qui agit sur le plateau et qui prend en arguments un couple (pour afficher ce couple dans le tableau) et voici les erreurs de compilation :

    couple.h:7: erreur: redefinition of 'class couple'
    couple.h:8: erreur: previous definition of 'class couple'
    couple.h:7: erreur: redefinition of 'class couple'
    couple.h:8: erreur: previous definition of 'class couple'

    Pourtant, j'ai bien pensé à mettre #define "couple.h" dans la classe plateau ... Je ne vois pas ce qui bloque, si vous pouviez m'éclairer ...
    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    Bien le bonsoir,

    Montre ton code, couple.h et couple.cpp (s'ils ne sont pas trop longs)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut balises [code]
    Pour couple .h :

    Code c++ : 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
    18
    19
    20
    21
    22
    23
    24
    25
    #include <iostream>
    #include <stdlib.h>
     
    using namespace std;
     
     
    class couple 
    {
     int fst;
     int snd;
     int orientation;
     int position; // abscisse de l'élément le plus à gauche 
     
     public : couple(int); // créer un couple d'éléments parmi ceux débloqués (passé en paramètres)
    	  couple(int,int); // créer un couple d'éléments avec un type débloqué et une orientation
    	  int get_fst();
    	  int get_snd();
    	  int get_orientation();
     
    	  //int get_type_debloque();
    	  //void set_fst(int);
    	  //void set_snd(int);
    	  void set_orientation(int);
    	  friend ostream& operator<< (ostream&o,couple c);
    };


    Pour plateau.h :

    Code c++ : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include <iostream>
    #include "couple.h"
     
    using namespace std;
     
     
    class plateau 
    {
     int t[7][9];
     int type_debloque;
     
     public : plateau();
    	  void set_case(int,int,int);
    	  bool case_vide(int,int);
    	  int obstacle(int); // renvoie l'ordonnée de la 1ère case libre de la colonne d'abscisse donnée
    	  void empile_element(int,int);
    	  //méthodes d'accès aux champs
    	  void affiche_couple(couple);
    	  void ajoute_couple(couple);
    	  //bool tableau_vide();
     
    	  //void empile(int,int,int);
    	  //ajoute_couple(couple)
    	  //int get_type(int,int);
    	  //void supprime(int,int);
    	  friend ostream& operator<< (ostream&o,plateau*);
    };


    Et la fonction qui pose problème c'est : affiche_coupe
    Je sais pas si c'est très clair

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Ca n'a pas l'air très clair ce que j'ai marqué, non ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Je pense pas que ce soit nécessaire que j'envoie le code de ma fonction affiche_couple. En fait, en compilant, j'ai l'impression qu'il n'y a pas d'erreurs majeures, à part que le fait d'utiliser une classe dans une autre pose problème lors de la compilation ...

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Je ne sais pas si j'ai besoin du mot clé "inline" mais je ne comprends pas trop son utilisation ... si vous pouviez m'éclairer ...

  8. #8
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    Le lien vers la faq est là pour mettre en évidence l'utilisation des directives #ifndef, #define et #endif pour prévenir les inclusions multiples.

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par khayyam90 Voir le message
    Le lien vers la faq est là pour mettre en évidence l'utilisation des directives #ifndef, #define et #endif pour prévenir les inclusions multiples.
    +1

Discussions similaires

  1. Problème de classe.
    Par maminova77 dans le forum Langage
    Réponses: 5
    Dernier message: 30/01/2006, 21h39
  2. Problème sur classe Transformer avec les <!--
    Par tykool dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/01/2006, 10h20
  3. Problème de classe
    Par DeusXL dans le forum DirectX
    Réponses: 15
    Dernier message: 04/12/2005, 14h37
  4. Problème de classe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/10/2005, 17h49
  5. [FLASH MX2004] Problème de classe
    Par JulPoWeR dans le forum Flash
    Réponses: 1
    Dernier message: 10/07/2005, 22h51

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