Я прихожу из C#, поэтому, пожалуйста, простите все, что я могу ошибаться, пытаясь задать этот вопрос.Передача общего шаблона с карты?
Я создал карту, которая содержит строку и метод для обработки вызова метода строкой:
//MyClass.h
void SerializeCustomData();
std::unordered_map<std::string, void(MyClass::*)()> functionMap;
MyMethod() {
functionMap["SerializeCustomData"] = &MyClass::SerializeCustomData;
};
Мой вопрос является; как я могу взять свою карту в параметре для метода? Или общий тип или строка в C++?
Пример:
SerializeCustomData(std::string);
Я рекомендую использовать 'std :: function' вместо указателей функций-членов в целом. – milleniumbug
Вы ищете контейнер для этих параметров? Я, вы, попробуйте использовать std :: function и std :: bind. –
@mileniumbug спасибо, поэтому от верхней части моей головы это выглядело бы так: 'std :: unordered_map> functionMap;' –
i73