Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1278 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] [resolu] Problème de templates

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] [resolu] Problème de templates

n°1657589
sligor
Posté le 13-12-2007 à 10:45:40  profilanswer
 

voilà j'ai ce code qui utilise un template:

Code :
  1. #include <list>
  2. template<class T>void secondPass(list<T*> child_nodes)
  3. {
  4.     list<T*>::iterator it;
  5.     for (it = child_nodes.begin();it != child_nodes.end();it++)
  6.     {
  7.         /* blabla*/
  8.     }
  9. }


 
et à la compilation sous GCC4.1 j'ai une erreur incompréhensible  :fou: :


 In function ‘void secondPass(std::list<T*, std::allocator<T*> > )’:
5:error: expected `;' before ‘it’
6:error: ‘it’ was not declared in this scope


Bon alors là je suis complétement pommé, je n'ai pas l'habitude de manipuler les templates et je comprends pas ce qui ne va pas.
si j'enlève le template et que je rempalce par un vrai nom de classe il n'y a plus de problème  [:autobot]  
 
Si vous avez une idée faite le savoir  :)  
 :hello:


Message édité par sligor le 13-12-2007 à 11:01:08
mood
Publicité
Posté le 13-12-2007 à 10:45:40  profilanswer
 

n°1657597
Joel F
Real men use unique_ptr
Posté le 13-12-2007 à 10:55:16  profilanswer
 

Et où est ton ami typename ;)
 

Code :
  1. #include <list>
  2. template<class T>void secondPass(list<T*> child_nodes)
  3. {
  4.     typename list<T*>::iterator it;
  5.     for (it = child_nodes.begin();it != child_nodes.end();it++)
  6.     {
  7.         /* blabla*/
  8.     }
  9. }


 
Il n'y a aucun moyen au compilateur de savori que list<T*>::iterator est un type. Faut donc
lui dire explicitement via typename :p

n°1657598
Anubis_
Posté le 13-12-2007 à 10:56:37  profilanswer
 

essaye

Code :
  1. typename list<T*>::iterator it;


http://www.linux-kheops.com/doc/co [...] /x4722.htm

n°1657600
sligor
Posté le 13-12-2007 à 10:59:09  profilanswer
 

ok, ça marche merci beaucoup :)


Message édité par sligor le 13-12-2007 à 11:02:33

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] [resolu] Problème de templates

 

Sujets relatifs
Problème affichage XML dans IEPetit problème avec mon algo de tri !
problème de connexion oracle 9iExécution commande, pas de retour [Résolu]
[VBA] probleme de pièce jointe outlook[Perl] Problème de syntaxe
Résolu [Excel] colori selon critère[RESOLU] checkBox et databinding
probleme de droit pour acceder a une page avec site nuked clan[PHP] [ RESOLU ] Textarea et javascript \n ou \\n
Plus de sujets relatifs à : [C++] [resolu] Problème de templates


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR