Problème de class template et std::map (Résolue)
Bonjour,
J'ai un petit problème de taille avec mes class templates et std::map
Je m'explique :
J'ai les class templates suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| template <typename T>
class CResource
{
// ...
};
template <typename T>
class CResourcePtr
{
// ...
};
template <typename T>
class CResourcesManager
{
std::map< std::string, CResource<T> > m_resources;
CResourcePtr<T> getResource( const std::string& name );
}; |
La class CResourcesManager sert à être hérité par une autre class, comme
l'exemple si-dessous.
Code:
1 2 3 4
| class CTexturesManager : CResourcesManager<int>
{
// ...
}; |
Mon problème, ça trouve dans la class CResourcesManager, ou plus précisément dans l’une de ses fonctions membres qui est celle-ci.
Code:
1 2 3 4 5 6
| template <typename T>
CResourcePtr<T> CResourcesManager<T>::getResource( const std::string& path )
{
// Erreur ICI, le compilateur n'est pas contant :(
std::map< std::string, CResource<T> >::iterator it;
} |
J'ai l'impression qu'il n'aime pas CResource<T> dans std::map, car si je le remplace par CResource<int>, il n'y a pas de problème.
Est-ce que c'est normal ?
Merci d'avance.
Bathof