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 :

Probleme de r�f�rence...


Sujet :

C++

  1. #1
    Membre �clair� Avatar de gamerome
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    265
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 265
    Par d�faut Probleme de r�f�rence...
    Bonsoir,
    Voici mon probl�me :
    J'ai une classe nomm� A qui possede une fonction avec en parametre un objet de type B.
    J'ai une classe nomm� B qui possede une fonction avec en parametre un objet de type A.

    Et bizarrement, cela ne marche pas. Pb a la compilation qui ne veut rien dire d'ailleurs...Je fais pourtant les bonnes inclusions mais rien ne marche.
    Voici les sources a dl: http://82.234.146.244/source.rar

    Un peu d'aide me serait la bienvenue Merci

  2. #2
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616

  3. #3
    Membre �clair� Avatar de gamerome
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    265
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 265
    Par d�faut
    Oui c'est ca merci!!! Mais ca ne marche pas :s

    Voici la nouvelle version : http://82.234.146.244/source.rar

  4. #4
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    Tu peux nous poster un code r�duit avec le probl�me ? ( ca doit �tre assez rapide de reproduire ca sur une classe vide ^^ )
    Et si tu pouvais pr�ciser les messages d'erreurs, ca nous aiderait a y voir plus clair
    Merci

    ( je n''arrive pas a downloader ton fichier )

  5. #5
    Membre �clair� Avatar de gamerome
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    265
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 265
    Par d�faut
    ok voici une version miature du code :


    Le fichier A.h :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class B;
     
    class A{    
    public :     
           B* objetBs;  //l'objet de type B
           A();             //constructeur
    };
    Le fichier A.cpp :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    #include "A.h"
    #include "B.h"
    A::A(){
     printf("Construction de l'objet A...\n");      
    }
    Le fichier B.h :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include "A.h"
     
    class B{
     public:
            A objetA;
            B();
    };
    Le fichier B.cpp :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    #include "B.h"
     
    B::B()
    {
      printf("Construction de l'objet B...\n");      
    }

    L'erreur que j'obtiens est : redefinition of class A, previous definition of class A

  6. #6
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    Hum tu as essay� avec des include-guard? ( j'ai vaguement regard�, si c'est pas ca, je me pencherais plus dessus ^^ )

  7. #7
    Membre �clair� Avatar de gamerome
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    265
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 265
    Par d�faut
    Ah ca y est je viens de resoudre ce probleme de reference crois� !!!

    Je m'�tais bettement tromp�...Ton lien est exact, je l'ai simplement mal utilis�. Merci!

  8. #8
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    De rien, pense a cocher la balise "r�solu" en bas du poste

  9. #9
    Membre �clair� Avatar de gamerome
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    265
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 265
    Par d�faut
    Ah derniere question :d

    a quoi ca sert de mettre:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
     #ifndef CLASS_H
     #define CLASS_H
      /* ...la classe... */
     #endif

  10. #10
    Membre �clair�
    Inscrit en
    Octobre 2004
    Messages
    616
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par d�faut
    Hum ca doit �tre dans la faq aussi
    En bref, au premier passage du compilateur, il va cr�er un flag, puis compiler la classe .
    Si plusieur fichier inclu cette classe, en repassant par la, le compilateur va rencontrer le flag pr�c�dement mis et s'arretera la .
    ( Enfin c'est peu �tre pas les bon termes, mais l'id�e y est ^^ )

  11. #11
    Membre �clair�
    Avatar de Zenol
    Homme Profil pro
    �tudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 35
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Par d�faut
    AU deuxi�me passage, la condition ifndef(Si n'est pas d�fini ...) ne seras pas vrai et tout le block jusca endif seras ignorer. Sa evite de causer des ereures quand tu fait :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    //C.h
    #include "A.h"
    //B.h
    #include "C.h"
    #include "A.h"
    Ce genre de probl�me peut se poser quand deux header dif�rent que tu a d�velopper utilisent tous deux un autre header commun, et que tu d�cide de r�unir ces deux header dans ton aplication.
    http://c.developpez.com/faq/cpp/?pag...ASS_header_cpp
    Mes articles D�veloppez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probleme de r�f�rence d'objet
    Par Erazion dans le forum ASP.NET
    R�ponses: 5
    Dernier message: 01/04/2008, 11h51
  2. probleme de r�f�rence
    Par sasuke_ochiwa dans le forum Windows Forms
    R�ponses: 1
    Dernier message: 28/09/2007, 23h30
  3. Probleme de r�f�rence � un objet.
    Par nonolerobot77 dans le forum C#
    R�ponses: 1
    Dernier message: 20/04/2007, 13h01
  4. Probleme de r�f�rence.
    Par nonolerobot77 dans le forum C#
    R�ponses: 2
    Dernier message: 19/04/2007, 16h16
  5. [VBA-Version]Probleme avec r�f�rences VB
    Par macgiver dans le forum VBA Access
    R�ponses: 3
    Dernier message: 31/03/2007, 00h19

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