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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
list<Element>::iterator findProxi(list<Element>& l,Element elem);
Et pareil si je retire le ::iterator dans le type de retour, ça marche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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