bonjour,
je suis sur un projet et j'ai besoin de me faire une liste générique.
la cellule est définie :
dans ma classe liste qui inclue cellule.h j'ai défini une fonction :
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 #ifndef Cellule_h #define Cellule_h template <typename T> class Cellule { private: T val; Cellule<T>* suiv, *prec; public: Cellule(); Cellule(T v); virtual ~Cellule(); virtual T getVal()const; virtual void setVal(T); virtual Cellule<T>* getSuiv()const; virtual void setSuiv(Cellule<T> * s); virtual Cellule<T>* getPrec()const; virtual void setPrec(Cellule<T> * p); }; #endif
j'ai une erreur sur la ligne :
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 template<class T> void Liste<T>::ajoutApres(Place p, T t) { Cellule<T>* pCell= new Cellule<T>(); if (estVide()) {setPremier(pCell);setDernier(pCell);} else {setPrecedent(pCell,p); if (p==dernier()) {setSuivant(p,pCell);setDernier(pCell);} else {setSuivant(pCell,suivant(p)); setPrecedent(suivant(p),pCell); setSuivant(p,pCell);} } nbElem++; }l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cellule<T>* pCell= new Cellule<T>();
[Linker error] undefined reference to `Cellule<int>::Cellule()'
avez vous une idée?
merci
Partager