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

MFC Discussion :

Includes croises et forward reference


Sujet :

MFC

  1. #1
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut Includes croises et forward reference
    Bonjour,

    J'ai un probleme d'includes croises et j'ai vu le post sur la forward reference.
    (http://www.developpez.net/forums/showthread.php?t=8191)
    Malgre tout j'ai l'impression que cela ne resoud pas mon probeme ou alors j'ai rien compris mais voila la structure de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class B;
     
    class A {
     
      public :
           B var_b;
    };
     
    class B {
     
      public :
           A var_a;
    };
    Il me dit quand meme que j'essaye d'utiliser une classe non initialisee pour ma variable var_b dans la classe A.
    Le probleme reste le meme...
    Comment faire ?

    Merci !

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class B;
     
    class A {
      
      public :
           B *pvar_b;
    };
     
    class B {
     
      public :
           A var_a;
    };
    class A ne peut contenir qu'un pointeur sur classe B .

  3. #3
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut
    Ok merci ca compile.

    Par contre c'est vraiment trop la bazar dans mon code la maintenant que j'ai reunit mes 2 classes, j'ai des erreurs indechiffrables.
    Y a-t-il un autre moyen pour palier au probleme des includes croises ?

    Merci.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    sans voir les problèmes difficiles de répondre...
    tu as spécifié des gardes anti-inclusion ou mis un pragma once dans ton .h ?

  5. #5
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut
    Oui c'est mis.

    En fait j'ai un classe qui correspond a ma boite de dialogue et l'autre a ma fenetre OpenGL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class OpenGLControl;
     
    class MFCDialog {
     
      OpenGLControl *m_oglWindow;
    };
     
    class OpenGLControl {
     
      MFCDialog m_mfcDialog;
    };
    Ca compile mais a l'execution il me balance des messages d'erreurs barbares du genre "Unhandled exception at 0x7c90eddc in oglMFCDialog.exe: 0xC0000005: Access violation writing location 0x00030f74."

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    hé bien c'est que tu fais quelque chose d'illicite dans ton code...
    tu remontes la pile des appels du debugger jusqu'à ton code pour voir la cause.

  7. #7
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut
    oui je vais voir ca ou trouver une autre solution pour eviter ces includes croises...
    Merci !

  8. #8
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par kitsune Voir le message
    oui je vais voir ca ou trouver une autre solution pour eviter ces includes croises...
    Merci !
    ton problème actuel n'a rien a voir avec les références croisées !
    tu as simplement un bug ...

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/03/2009, 17h36
  2. Structures croisées avec #include
    Par thierryG dans le forum Débuter
    Réponses: 3
    Dernier message: 30/04/2008, 14h03
  3. Contournement des includes croises ?
    Par kitsune dans le forum MFC
    Réponses: 3
    Dernier message: 17/09/2007, 07h22
  4. Reference Forward - Ca marche pas ;(
    Par Eldered dans le forum C++
    Réponses: 7
    Dernier message: 08/06/2006, 09h31
  5. [Servlets]Include/Forward
    Par Quartus dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/05/2006, 13h02

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