comment surcharger les paramètres d'une methode virtual
	
	
		Bonjour, 
Je suis confronter sur un problème depuis maintenant une semaine et j'ai bo chercher sur internet je n'arrive pas à trouver une solution de mon problème.
Mon Problème se situe sur la surcharge du nombre de paramètre d'une fonction.
J'ai une classe C_Mesh :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11
   |  
 
	class SILVERENGINE_API C_Mesh{
		public:
			// ... autre méthodes de la classe
 
			virtual C_Mesh* GetThisPtr() { return this; } 
 
			virtual void Create(C_Mesh& p_mesh){};
 
	}; | 
 et j'ai également une classe C_Plane :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12
   |  
        class SILVERENGINE_API C_Plane{
		public:
			// ... autre méthodes de la classe
 
 
			virtual C_Plane* GetThisPtr() { return this; } 
 
			virtual void Create(C_Mesh& p_mesh, float[] p_size, int[] p_nbSubPlane);
 
 
	}; | 
 Pour finir j'ai un MeshManager :
	Code:
	
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
   |  
/**
        *       \class   C_MeshManager
        *       \extends C_Singleton<C_MeshManager>
        */
	class SILVERENGINE_API C_MeshManager : public C_Singleton <C_MeshManager>{
		MAKE_SINGLETON(C_MeshManager)
		/**
                * \publicsection
                */
		public:
 
			template<TMeshType p_type, typename ... Args>
			C_Mesh* Create(std::string const& p_name,  Args&& ... p_args){
				C_Mesh* newMesh;
 
				auto meshCreate = MeshFactory.Create(p_type)->GetThisPtr(); // <-- meshCreate = C_Plane* pour le test
				meshCreate->Create(newMesh, p_args);
				return newMesh;
			}
 
		/**
                * \privatesection
                */
		private:
			C_MeshManager();
			~C_MeshManager();
	}; | 
 lorsque je compile tous se passe bien mais lorsque j'exécute le programme cela m'indique :
	Citation:
	
		
		
			Erreur	4	error C2660: 'SilverEngine::C_Mesh::Create'*: la fonction ne prend pas 3 arguments	c:\users\ksta\desktop\dll\sources\silverengine\core\c_meshmanager.h	47	1	TestDLL
			
		
	
 voici l'utilisation :
	Code:
	
1 2 3 4
   |  
        float size[]  = { 5.0f, 5.0f };
	int subPlane[] = { 0, 0 };
	m_testMesh = MeshManager.Create<TMeshType::MESH_PLANE>("testPlane", size, subPlane); | 
 Se que j'aimerais c'est obliger l'utilisateur à redéfinir la fonction Create dans les sous class de Mesh et si possible rajouter des arguments.
J'ai essayer de pas les mettre virtual, de définir using C_Mesh::Create; devant la fonction de C_Plane mais aucun résultat imposible d'exécuter.
Si quelqu'un aurai une solution je le remercie d'avance.