Bonjour à tous.
J'ai un problème avec les templates, et apres 2 heures de recherche je ne comprends absolument pas comment le résoudre.
Voici ce que je fais :
J'ai une classe dans laquelle je déclare une fonction membre template :
Puis je définis ma méthode, toujours dans le .h, apres la déclaration de ma classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 template<class T> T Add(T, T);
Tout ceci compile très bien. Mais dès lors que je veux utiliser cette méthode en la spécifiant, j'ai une erreur de compile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 template<class T> T Ma_Classe::Add(T x, T y) { return x + y ; }
Et donc le compilateur (je suis sous Visual C++ 6) me répond :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 unsigned long a = 4 ; unsigned long b = 5 ; unsigned long c = Add<unsigned long>( a, b );
Alors que faire ? Je ne comprends vraiment pas mon erreur.Error 2062 : type unsigned long unexpected
Merci pour votre aide.
Alexandre
Partager