Mon compilo n'est pas d'accord.
Mais est-ce que c'est possible?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 template<typename T> class toto { public: T i; }; template<typename T,typename G> class toto { public: T i; G j; };
Version imprimable
Mon compilo n'est pas d'accord.
Mais est-ce que c'est possible?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 template<typename T> class toto { public: T i; }; template<typename T,typename G> class toto { public: T i; G j; };
Ce n'est pas possible comme cela. Mais en jouant avec les spécialisations explicites et les arguments ayant une valeur par défaut, tu devrais pouvoir t'en sortir. Si tu n'y arrives pas, redemande ici (a moins que quelqu'un ayant plus de temps que moi decide de donner un exemple avant).
indique que toute specialisation du template suivante doivent se conformer a ce prototype. En revanche, tu peux toujours ecrire quelquechose comme ...Citation:
template<typename T>
class toto
template<typename T,typename G = void> class toto { ... } /* primaire */
template<typename T> class toto<T,void> { ... }; /* specialisation */
Merci ca marche,
Heureusement que vous êtes là.