Typedef utilisé en dehors d'une classe template -> Erreur
Bonjour !
J'ai déclaré un typedef vers une std::map dans une classe template, mais le compileur m'embête quand je l'utilise depuis une fonction de la classe définie en dehors.
Donc je voulais savoir si vous aviez des indications à me donner :
Question numéro 1 : pourquoi ?
Question numéro 2 : la seule solution est elle de définir la fonction dans la classe elle même ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| template <class T_Resource>
class ResourceManager
{
public:
T_Resource* getResource(const Identifier& identifier);
private:
typedef std::map< Identifier, T_Resource* > ResourceMap;
ResourceMap mResources;
};
template <class T_Resource>
T_Resource* ResourceManager<T_Resource>::getResource(const Identifier& identifier)
{
ResourceMap::iterator it = mResources.find(identifier); /// Erreur de compilation : error: expected `;' before "it" || error: `it' was not declared in this scope
} |
Merci d'avance !