Ce code ci-dessous compile sans problème.
Alors que celui-ci renvoie ceci avec g++:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 template< class T > struct mystruct { enum { value = 0 }; }; template<> struct mystruct< int > { enum { value = 1 }; }; int main(int argc, char *argv[]) { return 0; }
template.cpp:10: erreur: explicit specialization in non-namespace scope «class mycl»
Je suis largué. J'ai cherché un peu dans le forum. J'ai trouvé des sujets liés mais j'arrive pas à comprendre.
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 class mycl { template< class T > struct mystruct { enum { value = 0 }; }; template<> struct mystruct< int > { enum { value = 1 }; }; // Probleme }; int main(int argc, char *argv[]) { return 0; }
http://www.developpez.net/forums/sho...late+namespace
http://www.developpez.net/forums/sho...late+namespace
http://www.developpez.net/forums/sho...late+namespace
http://www.developpez.net/forums/sho...ation+template
http://www.developpez.net/forums/sho...ation+template
Partager