Heritage Templates

[Résolu]
Signaler
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
-
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
-
Bonjour,

Premiere utilisation des templates, et je frappe un mur .... dites moi ce que j'ai pas compris :
En gros j'ai une classe générique symbole<T>
Et j'ai une classe operande qui hérite de symbole<double>

Erreur 1 error LNK2019: symbole externe non résolu "public: __thiscall symbole<double>::symbole<double>(void)" ([mailto:??0?$symbole@N@@QAE@XZ ??0?$symbole@N@@QAE@XZ]) référencé dans la fonction "public: __thiscall operande::operande(void)" ([mailto:??0operande@@QAE@XZ ??0operande@@QAE@XZ]) operande.obj

symbole.h
#ifndef _SYMBOLE_
#define _SYMBOLE_



template <class T>
class symbole
{
private:
 T valeur;
public:
 symbole();
 symbole(T val);
 ~symbole();
};



#endif



symbole.cpp
#include "symbole.h"



template <class T>
symbole<T>::symbole()
{
}



template <class T>
symbole<T>::symbole(T val)
{
}



template <class T>
symbole<T>::~symbole()
{
}



operande.h
#ifndef _OPERANDE_
#define _OPERANDE_



#include "symbole.h"



class operande : public symbole<double>
{
public:
 operande();
 ~operande();
};



#endif




operande.cpp
#include "operande.h"
#include "symbole.h"



operande::operande()
  : symbole<double>()
{



}



Merci !

Eric

4 réponses

Messages postés
966
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
4 mars 2010
4
Normal il ne faut pas mettre le code template dans un fichier .cpp isolé => passe ton code template dans le .h et ce sera réglé.
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Une classe template n'est pas du code pure. Le template n'est pas compilé, c'est juste un modèle. Donc c'est normal qu'on puisse pas le mettre dans un fichier .cpp puisqu'une classe template n'existe pas tant qu'on a pas fourni de type.
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
5
Merci !

Eric
Messages postés
286
Date d'inscription
vendredi 5 décembre 2003
Statut
Membre
Dernière intervention
22 avril 2012
2
Ou il faut trouver un compilo qui accepte la directive export...  Mais je n'en connais pas...
Bonne continuation !