Bonjour,
Mon précédent problème étant résolu, j’ai donc continué mon programme. Malheureusement les ennuis ont continué : je n’arrive pas à déclarer mes itérateurs.
Voici un extrait de la classe concernée. C’est une classe template qui possède des conteneurs de la STL : std::list et std::set.
Jusqu’ici tout va bien. Je n’ai aucun problème à utiliser ces conteneurs, pourtant je n’arrive pas à accéder à leur itérateur. L’erreur intervient dès la déclaration de celui-ci.
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 template <class SubEvent, class SubSystemCore> class System : public ISystem<SubEvent, SubSystemCore> { // ... private: // Delete all registrations void DeleteAllRegistrations(); // ... // Registered Systems std::list<ISystem<SubEvent, SubSystemCore> *> m_RegisteredSystems; // std::set<ISystem<SubEvent, SubSystemCore> *> m_Systems; };
Voici le code complet. Si quelqu’un voit l’erreur, je serai ravi de la connaitre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 template <class SubEvent, class SubSystemCore> void System<SubEvent, SubSystemCore>::DeleteAllRegistrations() { std::set<ISystem<SubEvent, SubSystemCore> *>::iterator i; // for(i = m_Systems.begin() ; i != m_Systems.end() ; i++) { (*i)->Unregister(this); } // m_Systems.clear(); }
Merci.
Partager