Bonjour,
si quelqu'un pouvait m'�clairer vis � vis de ce code de template :
Cette version compil�e simplement avec g++ sans option me renvoie :
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
21 template<typename T, class C> class MTest { public: MTest() {} ~MTest() {} C* find(T t) { std::map<T, C*>::iterator it; if ((it = mymap.find(t)) == mymap.end()) return (0); return (it->second); } protected: std::map<T, C*> mymap; };
Et quand je r��cris la m�thode find de cette mani�re :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 Test.hh:18: error: expected ; before it Test.hh:20: error: it was not declared in this scope Test.hh:23: error: it was not declared in this scope
=> dans ce cas je n'ai pas d'erreur, un probl�me vis � vis de la d�claration de l'iterator ? quelqu'un a une id�e ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 C* find(T t) { if ((mymap.find(t)) == mymap.end()) return (0); return (mymap.find(t)->second); }
=> g++ (Debian 4.4.5-8) 4.4.5
Partager