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 :

Reference Forward - Ca marche pas ;(


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 31
    Points : 25
    Points
    25
    Par défaut Reference Forward - Ca marche pas ;(
    Hello all,

    J'ai un petit problème qui commence à me les pomper, je m'explique :

    Ma premiere classe (premClasse) instancie dans son constructeur ma seconde classe (secClasse) qui instancie elle même une troisieme classe (troiClasse). Jusque la tout va bien

    Dans ma premiere classe, je fais un include de "secClasse" et dans la seconde classe, je fais un include de "troiClasse". Jusque la tout va bien aussi Le programme compile et s'execute.

    Les problèmes arrivent maintenant : J'ai besoin de connaître la classe "premClasse" dans ma classe "troiCLasse" (car j'ai besoin de déclarer une instance de "premClasse" dans "troiClasse"), je fais donc un include de "premClasse" dans "troiClasse" .... et la c'est pas la classe .

    POURTANT, j'ai bien fait mes Reference Forward, autrement dit :

    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 _PREM_CLASSE
    #define _PREM_CLASSE
     
    /***** Includes du projet */
     
    /***** Namespace du projet */
     
    /***** Définition de la classe */
     
    class premClass : public classeHeritee {
     
         // Plein de choses ...
     
    };
     
    #endif
    D'ou cela peut-il venir ???

    Pour info, je travaille sous Visual C++.net.

    Voici l'erreur qu'il m'affiche :



    Avec "premClasse <=> mySplitterWindow", "secClasse <=> fenJobsOrdonnes" et "troisClasse <=> panJobsOrdonnes". Autrement dit, c'est dans cette derniere classe que j'ai fait un include "mySplitterWindow"

    Merci d'avance !

    ++ Eddy.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Points : 166
    Points
    166
    Par défaut
    Salut,

    Bien que je ne suis pas un expert du C++.Net,
    As tu fais la déclaration de ta premiere class avant de définir ta troisieme classe ?

    Par contre je me demande si faire un système de classe qui se boucle dessus est bien une bonne méthode.

  3. #3
    Membre habitué Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Points : 169
    Points
    169
    Par défaut
    je ne sais pas si tu as besoin de faire des include si tu utilise le meme namespace
    tu as verifie que les classes ont le meme name space?

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu fais bien à chaque fois un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class autreClasse;
     
    classe AInstancier
    {
      autreClasse* lePointeurAdequat;
    };
    ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Oula, qu'est ce que c'est que ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class autreClasse;
     
    classe AInstancier
    {
      autreClasse* lePointeurAdequat;
    };
    - Toutes mes classes sont dans un fichier différent.
    - Pour chaque fichier j'ai des includes.


    Que represente ici la classe à instancier et l'autre classe ?

    Merci !

    ++ Eddy.

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par Eldered
    Oula, qu'est ce que c'est que ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class autreClasse;
     
    classe AInstancier
    {
      autreClasse* lePointeurAdequat;
    };
    - Toutes mes classes sont dans un fichier différent.
    - Pour chaque fichier j'ai des includes.


    Que represente ici la classe à instancier et l'autre classe ?
    C'est le reference forward... La classe à instancier, c'est ta troisième classe par exemple, et l'autre classe, c'est la première dont un pointeur doit être présent dans la première.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 31
    Points : 25
    Points
    25
    Par défaut
    Youhou !!!

    Merci merci merci !

    Le lien donné par Laurent Gomila explique vraiment bien le problème et la solution (surtout la solution ^^)

    Merci à tous,

    ++ Eddy.

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

Discussions similaires

  1. Décocher References MANQUANT Ne marche pas
    Par jojo86 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/04/2011, 14h14
  2. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 10h28
  3. Réponses: 9
    Dernier message: 07/05/2003, 13h57
  4. [GifDecoder] marche pas dans applet avec IE
    Par formentor dans le forum Applets
    Réponses: 2
    Dernier message: 06/05/2003, 11h43
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 14h23

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