Erreur Gcc, template et iterator
Bonjour,
j'essaye depuis un petit bout de temps de compiler un programme, et pas moyen. Donc je craque et je m'en remet à vos conseils avisés :)
J'essaye dans une classe (qui n'est pas template) de définir deux methodes comme suis:
Code:
1 2
| template<typename T> list<T>::iterator findProxi(list<T>& l,Element elem);
template<typename T> list< pair<T,T> >::iterator findProxi(list< pair<T,T> >& l,Element elem); |
et le compilateur butte sur ces lignes, en me disant:
Code:
error: expected constructor, destructor, or type conversion before 'findProxi'
pour chacune des lignes au dessus. Et si je met un type défini (genre Element, qui est une de mes classes) plutot que le type générique T, ça marche:
Code:
list<Element>::iterator findProxi(list<Element>& l,Element elem);
Et pareil si je retire le ::iterator dans le type de retour, ça marche:
Code:
template<typename T> list<T> findProxi(list<T>& l,Element elem);
Alors si vous savez pourquoi, et surtout comment on corrige... Je vous en serait éternellement reconnaissant :)