2014-01-14 2 views
1

Существует шаблонная функция состоит в некотором классе FooКак сделать указатель на специализированный вариант шаблона функции-члена?

template <typename T> 
void Foo::bar(std::string &, const T&); 

Как сделать указатель грима на следующие специализированный вариант этой функции?

void Foo::bar<std::string>(std::string &, const std::string&); 

Существует как то, что я имею в виду

typedef void (Foo::*Bar_t)(std::string &, const std::string&); 
Bar_t stringedBar = &Foo::bar<std::string> // ??? 
+1

Вы действительно пробовали синтаксис и получили сообщение об ошибке? – PlasmaHH

+0

@PlasmaHH - Спасибо. Существует несколько уменьшенных образцов. Я перепроверю. – Loom

ответ

1

Точно так, как вы написали это.

typedef void (Foo::*Bar_t)(std::string &, const std::string&); 
Bar_t stringedBar = &Foo::bar<std::string>; 

See here для примера.