Je viens de C# alors s'il vous plaît excuser tout ce que je peux me tromper en essayant de poser cette question.Passer un paramètre de modèle générique à partir d'une carte?
J'ai créé une carte qui contient une chaîne et une méthode pour gérer l'invocation d'une méthode par une chaîne:
//MyClass.h
void SerializeCustomData();
std::unordered_map<std::string, void(MyClass::*)()> functionMap;
MyMethod() {
functionMap["SerializeCustomData"] = &MyClass::SerializeCustomData;
};
Ma question est; Comment puis-je avoir ma carte dans un paramètre pour la méthode? Un type générique ou une chaîne en C++?
Exemple:
SerializeCustomData(std::string);
Je recommande d'utiliser 'std :: function' à la place des pointeurs de fonctions membres en général. – milleniumbug
Vous recherchez un conteneur pour ces paramètres? Si vous êtes, essayez d'utiliser std :: function et std :: bind. –
@mileniumbug merci, donc le haut de ma tête, il ressemble à ceci: 'std :: unordered_map> functionMap;' –
i73