Bonjour, j'ai un problème pour compiler un bout de code sous Gcc, alors qu'il compile sous Visual Studio 2010 :
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
 
// 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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 ?