Probleme de compilation avec les template

Probleme de compilation avec les template - C++ - Programmation

Marsh Posté le 19-11-2008 à 12:58:10    

Bonjour à tous,
 
mon programme est le suivant (en resumé bien sure):
#######################
template <class T>
void nom_classe1<T>::fonction(char* nom)
{
  ....
}
 
template <class T>
void nom_classe1<T>::fonction(char* nom, int num)
{
  ....
  fonction(nom);
}
########################
 
et dans une autre classe:
 
void nom_classe2::fonction2(nom_classe1<short> & im1,nom_classe1<unsigned char> & im2, int n)
{
 
    im1.fonction ("...", n);
 
    im2.fonction ("...", n);
}
#####################
 
Après ompilation avec g++-4.1 (linux ubuntu), j'obtiens les erreurs suivantes:
 
 
 -instantiated from «void nom_classe1<T>::fonction(char*, int) [with  T = unsigned char]"
 -instantiated from «void nom_classe1<T>::fonction(char*, int) [with   T = short int]"
 
Est ce que quelqu'un peut m'aider à corriger ces erreurs?
 
Merci

Reply

Marsh Posté le 19-11-2008 à 12:58:10   

Reply

Marsh Posté le 19-11-2008 à 13:21:11    

tu te rends bien compte que tu passes un parametres template alors que tu ne t'en sers pas pour paramétrer les types de ta fonction ???

Reply

Marsh Posté le 19-11-2008 à 13:37:50    

Joel F a écrit :

tu te rends bien compte que tu passes un parametres template alors que tu ne t'en sers pas pour paramétrer les types de ta fonction ???


 
je te remercie pour ta reponse rapide
 
j'ai pas bien compris ce que tu veux dire par :"paramétrer les types de ta fonction???"
 
enfait, le traitement de fonction(char *nom) dépend du type T!

Reply

Marsh Posté le 19-11-2008 à 14:16:32    

tu fais quoi dans fonction(char*) ??  ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed