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 :

compilation interblocage :(


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut compilation interblocage :(
    Bonjour,
    Je voudrais compiler ces fichiers. Néanmoins un pbl est là.
    La classe B utilise un objet de la classe C et réciproquement.
    Comment compiler?


    Ps: l erreur apparait dès que l'on y met le "include" (sans le private : C c)

    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
     
    #ifndef _C_H_
    #define _C_H_
     
    #include "B.h"
     
    class C
    {
    	private:
    	 B b;
    public:
    	C();
    	virtual ~C();
    };
     
    #endif //_C_H_
    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
    #ifndef _B_H_
    #define _B_H_
     
    #include "C.h"
     
    class B
    {
     
    private:
    C c;
    public:
     
    	B();
    	virtual ~B();
    };
     
    #endif //_B_H_

    merci d avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    FAQ
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Déjà, ton code n'indique pas que B utilise un objet de la classe C, mais qu'il contient un objet de la classe C.

    Tu m'expliquera comment ce genre de chose peut être réciproque.
    Question: Que faut-il mettre dans ton code pour exprimer utilise et non contient ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre averti
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut
    je viens de voir la FAQ , et je n ai rien trouvé pour réparer mon erreur.

    Sinon désolé je voulais dire contenir au lieu de utiliser.
    Pour etre plus concret que des lettres,mettons les vraies classes:

    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
    18
    19
     
    #ifndef ROW_H
    #define ROW_H
     
     
    #include "Cell.h"
     
    class Row {
    private:
      Cel *cells; //une ligne est un tableau de cellule
     
    public:
      Row();
      ~Row();
      void setCell(Cell c, int i);
      Cel* GetCells();
    };
     
    #endif
    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
    18
    19
    #ifndef CELL_H
    #define CELL_H
     
    #include "Row.h"
     
     
    class Cel{
    private:
     int value;
     Row row; //a une cellule est rattaché une ligne.
     
     
     public:
     Cel();
     ~Cel(); 
     void setRow(Row r);
     inline Row GetRow ();
    };
    #endif
    nous vonyons bien que row et cel s appel mutuellement et que cela ne compile donc pas....

  5. #5
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  6. #6
    Membre averti
    Inscrit en
    Février 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 18
    Par défaut
    okay, j ai testé et cela marche, jvais essayer d intégrer tout cela a mon code.
    Merci de votre aide, vous etes génial.
    Dsl de ne pas avoir vu ce passage :S
    bonne soirée

Discussions similaires

  1. Réponses: 15
    Dernier message: 10/10/2002, 19h19
  2. [Installation] Borland Compiler 5.5 sous XP
    Par Ligey dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 28/09/2002, 22h45
  3. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  4. Vitesse de compilation
    Par srvremi dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/07/2002, 16h49
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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