Problème de spécialisation de fonction template membre
Bonjour à tous.
Je dispose du code suivant:
Avec cette fonction , je veux pouvoir ajouter des objets de type B et C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
Sauf que si l'objet est de type B, la fonction ne doit rien renvoyer.
J'ai donc écris:
Mais dans ce cas, gcc me dit que la spécialisation doit avoir lieu dans le namespace qui contient C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
Pas de problème :explicit specialization in non-namespace scope ‘class C’
on met la fonction membre dans le namespace globale
:
mais la GCC me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
Et si j'ajoute le 'prototype' de la spécialisation dans la classe,j'ai la 1er erreure en plus des précédantes.error: template-id ‘Add<B>’ in declaration of primary template
error: prototype for ‘void C::Add(B*)’ does not match any in class ‘C’
error: candidate is: template<class TYPE> TYPE& C::Add(TYPE*)
Une idée ?
Merci.

 

 
		
		 
         
 

 
			
			


 
  
  
 
 
 
 
			 
   
 



 Problème  de spécialisation de fonction template membre
 Problème  de spécialisation de fonction template membre
				 Répondre avec citation
  Répondre avec citation
Partager