Bonjour,
Je souhaite créer dans une template une fonction prenant un predicat de type Predicate dans le but d'user de la foncton std::list<T>::remove_if(Predicate pred).
Seulement je n'arrive pas à l'intérieur de ma classe à ce que le compilateur reconnaisse le type Predicate.
Ma template est définit comme il suit :
Et j'essaye à l'interieur de rajouter la fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
template <class T> void Listing<T>::SupprimerElement(Predicate pred) ;
Ne reconnaissant pas le type Predicate, j'ai testé de le faire passé pour un typename en écrivant :
template <class T> void Listing<T>::SupprimerElement(typename Predicate pred) ;
Mais le compilateur me jet.
Si quelqu'un pouvait me donner la solution à ce problème je lui en serais grée .Listing.h:107: erreur: expected nested-name-specifier before ‘Predicate’
Listing.h:107: erreur: expected ‘,’ or ‘...’ before ‘pred’
Listing.cpp:54: erreur: variable or field ‘SupprimerElement’ declared void
Listing.cpp:54: erreur: template declaration of ‘int SupprimerElement’
Listing.cpp:54: erreur: expected nested-name-specifier before ‘Predicate’
Listing.cpp:54: erreur: expected `(' before ‘Predicate’
Merci d'avance.

 

 
		
		 
        

 
			
			


 
   


 Type Predicate en argument d'une fonction dans une Template.
 Type Predicate en argument d'une fonction dans une Template.
				 Répondre avec citation
  Répondre avec citation




 
  
  
 
 
			 
						
Partager