Предположим, у меня есть следующее:
class X
{
private:
typedef int (X::*xMethod) (float*);
typedef std::map<std::string, xMethod> callback_t;
callback_t m_callback;
public:
getPower(float *value);
getTemperature(float *value);
}
В примере выше, в ключе карты мы передаем строку, а в значении карты указатель на метод класса X. Вставить в эту картуНапример, я использую:
m_callback.insert(std::pair<std::string, xMethod>("voltage", &X::getPower));
Используя это, я могу вставлять методы, только если они имеют тип METHOD_NAME (значение с плавающей запятой *)
ОднакоЯ хочу вставить в карту методы типа __METHOD_NAME__(int *value)
, например (см. Здесь «int» вместо «float»).
Я полагаю, что для этого мне нужен шаблон.Но как?Есть ли способ решить эту проблему?