class template membre statique
Bonjour, j'ai un problème pour compiler un bout de code sous Gcc, alors qu'il compile sous Visual Studio 2010 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
// Manager.hpp
namespace Castor
{ namespace Templates
{
template <typename obj, typename key>
class Manager
{
public:
typedef std::shared_ptr<obj> obj_ptr;
typedef std::map<key, obj_ptr> obj_map;
static obj_map m_objectMap;
};
}
} |
Code:
1 2
| //FontManager.cpp
Castor::Templates::Manager<Font, std::string>::obj_map Castor::Templates::Manager<Font, std::string>::m_objectMap; |
Sous Gcc cette erreur me tombe dessus :
Citation:
error: specializing member 'Castor::Templates::Manager<Font, std::string>::m_objectMap' requires 'template<>' syntax
Donc, quelle bêtise ai-je faite ? déclarer un memebre statique dans une classe template, ou autre chose ?