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 :

undefined reference error


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par d�faut undefined reference error
    Bonjour

    Je me heurte � un souci de link depuis quelques heures sans en comprendre la cause...
    Voici mon bout de code :
    Classe mere :
    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
     
    #ifndef __mere_h
    #define __mere_h
     
      class mere
        {
        public :
          virtual ~mere(){}
     
          virtual std::vector <double> getObjectFille() = 0;
     
        protected :
          mere() {}
        private :
     
        };
     
    #endif
    classe fille :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #ifndef __fille_h
    #define __fille_h
     
    #include "mere.h"
     
      class fille : public mere
      {
      public :
     
        ~fille(){}
     
        std::vector <double> getObjectFille()
          {
    	return vector;
          }
     
      protected :
      private :
     
        std::vector <double> vector ;
     
        fille()
          {
          }
     
      };
     
    #endif
    et voici mon erreur :
    undefined reference to `mere::~destruc()'
    undefined reference to `vtable for Fille'
    undefined reference to `mere::construc()'
    Des id�es?

    Merci beaucoup

  2. #2
    Expert confirm�

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Software Developer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par d�faut
    Je ne comprends pas �a : ~destruct(){}.
    Si tu essaies de faire un destructeur, �a se fait comme �a : ~<nom_de_la_classe>(){}.
    Ca donnerait donc virtual ~mere(){}, et ~fille(){}.

    EDIT :
    De m�me pour le constructeur : construct(){} ne signifie rien.
    Si tu essaies de faire un constructeur, �a se fait comme �a : <nom_de_la_classe>([paramètres_si_tu_veux]){}.
    Ca donnerait donc mere(){}, et fille(){}.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert � rien, mais qu'il est joli (des fois) : ProceduralGenerator (G�n�ration proc�durale d'images, et post-processing).

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par d�faut
    Oups, j'ai voulu simplifier ma classe au max et j'ai �crit n'importe quoi..

    J'ai �dit�...

  4. #4
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Bonjour,

    c'est quoi cette } (accolade fermante) apr�s la d�claration de la classe ? (mere et fille)
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par d�faut
    l'acolade fermante de mon namespace que j'avais enlev� pour la visibilit�...

    Est ce que mon erreur de compil peut �tre li�e au fait que je n'ai pas de point cxx?

  6. #6
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Ne pas avoir de .cpp n'est pas g�nant, c'est juste qu'en g�n�ral on s�pare d�claration dans le header et impl�mentation dans un fichier qui sera compil�.
    L� tu impl�ments directement dans le header, pourquoi pas.

    Il faut juste inclure le header pour utiliser ta classe. Fille doit inclure Mere puisqu'elle en d�rive. Et � chaque fois que tu veux utiliser Fille, tu dois l'inclure dans ton unit� de compilation.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Par d�faut
    Ne pas avoir de .cpp n'est pas g�nant, c'est juste qu'en g�n�ral on s�pare d�claration dans le header et impl�mentation dans un fichier qui sera compil�.
    L� tu impl�ments directement dans le header, pourquoi pas.
    D'accord.

    Il faut juste inclure le header pour utiliser ta classe. Fille doit inclure Mere puisqu'elle en d�rive. Et � chaque fois que tu veux utiliser Fille, tu dois l'inclure dans ton unit� de compilation.
    Oui j'ai bien l'include en haut..

  8. #8
    Membre �clair�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Sant�

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par d�faut
    Bonjour,

    J'ai une question: Pourquoi le constructeur de la classe fille est priv�e?/ Comment l'utilises-tu?

Discussions similaires

  1. [Linker error] undefined reference to ..
    Par lichman dans le forum C++
    R�ponses: 5
    Dernier message: 15/01/2007, 16h50
  2. R�ponses: 1
    Dernier message: 14/11/2006, 11h12
  3. [Linker error] undefined reference to...
    Par z980x dans le forum C++
    R�ponses: 4
    Dernier message: 05/03/2006, 15h30
  4. [Linker error] undefined reference to 'IcmpSendEcho@'
    Par Xevious dans le forum Autres �diteurs
    R�ponses: 7
    Dernier message: 29/12/2005, 16h45
  5. [Linker error] DLL -> undefined reference to `vtable ?
    Par Zenol dans le forum D�buter
    R�ponses: 17
    Dernier message: 25/10/2005, 10h09

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