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:
et le compilateur butte sur ces lignes, en me disant:
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);
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 error: expected constructor, destructor, or type conversion before 'findProxi'
Et pareil si je retire le ::iterator dans le type de retour, ça marche:
Code : Sélectionner tout - Visualiser dans une fenêtre à part list<Element>::iterator findProxi(list<Element>& l,Element elem);
Alors si vous savez pourquoi, et surtout comment on corrige... Je vous en serait éternellement reconnaissant
Code : Sélectionner tout - Visualiser dans une fenêtre à part template<typename T> list<T> findProxi(list<T>& l,Element elem);![]()
Partager