Bonjour,
Une dr�le d'id�e vient de nous arriver : nous templatisons, et les petits amateurs que nous sommes se retrouvent � devoir red�finir des typedef histoire d'essayer de sauver des lignes illisibles. Dans l'ancienne version, les typedef qui posent probl�mes ressemblaient � ceux-ci :
Mais maintenant, la classe Node est elle-m�me un template, donc on essaye d'�crire des choses comme celle-l� :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 //classe ItSegment template<class TNodeIterator> class ItSegment; //typedef pour la classe TitNode : typedef list<Node*>::iterator TitNode; //typedef pour la classe TitSegment typedef ItSegment<TitNode> TitSegment;
et �a �a nous p�te au nez... avec des messages du genre :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 //classe ItSegment template<class TLine,template<class TLine> class TNodeIterator > class ItSegment; //typedef pour la classe TitNode : template <class TLine> class TitNode{}; //spécialisé pour la classe Line template<> class TitNode<Line> { public: typedef list<Node<Line>*>::iterator Type; }; //typedef pour la classe TitSegment template<class TLine> class TitSegment {}; //spécialisé pour la classe Line template<> class TitSegment<Line> { public: typedef ItSegment<Line,list<Node<Line>*> >::iterator Type; };
Toute suggestion sera la bienvenue ;-)
Code : S�lectionner tout - Visualiser dans une fen�tre � part erreur: type/value mismatch at argument 2 in template parameter list for template<class TLine, template<class TLine> classTNodeIterator> struct ItSegment
Merci tout plein !
Marc
Partager