[C++] instanciation template

instanciation template [C++] - C++ - Programmation

Marsh Posté le 15-10-2005 à 16:47:06    

salut, j'ai un petit probleme d'instanciation, qui doit etre ballot, mais qui me bloque
 
j'ai défini des classes/templates comme suit
 

Code :
  1. template <typename Type>
  2. class List {
  3.    protected:
  4. struct Node {
  5.  [...]
  6. };
  7. public:
  8. class Iterator {
  9.       public:
  10.                 Iterator(){}
  11.  };
  12. [...]
  13. };


je définis hors de la classe
 

Code :
  1. template <typename Type>
  2. void sortByInsertion(List<Type>& ioList)
  3. {
  4. for (List<Type>::Iterator i = ioList.begin(); i != ioList.end(); i++)


 
le main instancie cette fonction

Code :
  1. List<int> lList;
  2.    [...]
  3.     sortByInsertion<int>(lList);


et la il me sort une erreur dans cette fonction

/home/farib/tp3/src/tp3.cpp:99: erreur: expected `;' before 'i'


qui correspond au for
 
quelle est la bonne syntaxe de déclaration de l'Itérateur ?...

Reply

Marsh Posté le 15-10-2005 à 16:47:06   

Reply

Marsh Posté le 15-10-2005 à 16:53:27    

typename List<Type>::Iterator i

Reply

Marsh Posté le 15-10-2005 à 16:54:41    

sinon comment peut-il savoir que List<Type>::Iterator est un type ? ça pourrait être un enum ou un truc static.

Reply

Marsh Posté le 15-10-2005 à 20:37:13    

ouaiche ouaiche

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed