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

Langage C++ Discussion :

" undefined reference to " avec methode template


Sujet :

Langage C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut " undefined reference to " avec methode template
    Bonjour à tous
    j'essai de compiler un projet et voici ce que le compilateur me retourne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    main.o: In function `main':
    main.cpp:(.text+0x28): undefined reference to `A* Engine::element<A>()'
    collect2: ld returned 1 exit status
    Voici mes differents fichiers :
    main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <engine.h>
    #include <a.h>
     
    int main(int argc, char *argv[])
    {
    	Engine engine;
    	engine.element<A>();
    	return 0;
    }
    engine.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include "engine.h"
     
    Engine::Engine() {}
     
    Engine::~Engine() {}
     
    template<class T> T* Engine::element()
    {
    }
    engine.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
     
    #ifndef ENGINE_H
    #define ENGINE_H
     
    #include <QList>
     
    class Engine {
    	public:
    		Engine();		
    		~Engine();
     
    		template<class T> QList < T* > element();
    };
     
    #endif
    a.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #ifndef A_H
    #define A_H
     
    class A {
    	public:
    		A() {};
    		~A() {};
     
    };
     
    #endif
    J'ai simplifié le code de mon projet (assez gros à la base) pour avoir le problème avec le moins de code possible.
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de Lavock
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 560
    Points : 633
    Points
    633
    Par défaut
    Le template ne se met pas dans un cpp. Tu dois tout inclure, y compris la declaration, dans le .h. Cf. la FaQ.
    The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.
    --Wilhelm Stekel

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci je vais voir ça.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017

Discussions similaires

  1. undefined reference to 'fonction()' avec code block
    Par Marmoccelle dans le forum Code::Blocks
    Réponses: 8
    Dernier message: 01/02/2019, 16h15
  2. [SDL 2.0] "undefined reference to IMG_Load" avec SDL2_image
    Par zeloutre1 dans le forum SDL
    Réponses: 1
    Dernier message: 03/01/2014, 21h46
  3. [MPI] undefined reference to `sin' avec mpicc
    Par Emeric974 dans le forum Programmation parallèle, calcul scientifique et de haute performance (HPC)
    Réponses: 5
    Dernier message: 03/09/2013, 12h58
  4. Réponses: 6
    Dernier message: 08/01/2012, 09h05
  5. Réponses: 8
    Dernier message: 20/03/2011, 02h21

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