Salut à tous,
J'ai un problème avec les templates. Je veux faire une liste chainée qui fonctionne avec les templates.
Mon problème arrive au moment où je linke (la compilation marche très bien mais pas la construction du prog). Il me dit qu'il ne connait pas les méthodes que j'appelle avec un objet défini alors que les méthodes existent bien et que la déclaration de l'objet utilisant les templates me semble bon.
Voici une partie de mon code :
mon fichier h :
______________
template <typename T>
class ListeChainee{
private:
T *tete;
public:
ListeChainee();
T * getTete();
void setTete(T * Tete);
void affiche();
void chercherPositionOrdreAlpha ( char * nom );
void ajouter(T * tampon);
void supprimer(T * tampon);
T* acces( char * nom );
void desallouerListe(T *courant);
~ListeChainee();
};
voici un exemple de mon fichier cpp :
___________________________________
template <typename T> T* ListeChainee<T>::getTete(){
return tete;
}
template <typename T> void ListeChainee<T>::setTete(T *tete){
this->tete=tete;
}
template <typename T> void ListeChainee<T>::affiche(){
T * courant = tete;
while (courant!=NULL){
courant->affiche();
courant = courant->suivant;
}
}
et voici la déclaration d'un objet qui remplace l'objet T temporaire :
ListeChainee<Voiture> *listeVoiture;
et ensuite tous mes accès aux méthodes ne sont pas trouvés à la construction.
Merci de votre aide!