Bonjour,
je suis nouveaux sur les templates et je ne comprends pas pourquoi le code suivant de compile pas (avec g++ sous OSX):
Les erreurs de compilation sont les suivantes:
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
22
23
24
25
26
27
28
29
30
31
32 #ifndef RESSOURCEMANAGER_H #define RESSOURCEMANAGER_H #include <map> #include <string> template <class T> class RessourceManager { std::map<std::string, T> _ressourceDb; public: RessourceManager() {} /** * */ T getRessource(const std::string & ressourceName) { std::map<std::string, T>::iterator it = _ressourceDb.find(ressourceName); if(it == _ressourceDb.end()) { //_ressourceDb.insert(createRessource(ressourceName)); } return it; } //virtual T createRessource(const std::string & ressourceName) = 0; }; #endif // RESSOURCEMANAGER_H
../Alpha/RessourceManager.h: In member function 'T RessourceManager<T>::getRessource(const std::string&)':
../Alpha/RessourceManager.h:20: error: expected `;' before 'it'
../Alpha/RessourceManager.h:21: error: 'it' was not declared in this scope
../Alpha/RessourceManager.h:25: error: 'it' was not declared in this scope
Partager