Скажем, у меня есть класс, который звучит так:C++ 11 Функция Вектор указателей на шаблонного Статический член
struct MyStruct
{
template<typename T>
static int Func()
{
// Do something with the template parameter.
}
};
Теперь сказать, что я хочу, чтобы создать вектор указателей на функции с Func
«s прототип. Поскольку прототип не зависит от параметра шаблона, это должно быть возможно. И, конечно, я могу явно typedef
указатель на Func
, например, так:
typedef int (* FuncPtr)(MyStruct * pointer);
И затем, создавая вектор так же легко, как:
std::vector<FuncPtr> FuncVector;
Однако, я хотел бы избежать объявления Func
прототип дважды. Можно ли это сделать?
Так как вы говорите, прототип не зависит от параметра, как насчет просто 'станд: : vector)> '? –
Quentin
Есть веская причина, чтобы избежать объявления прототипа 'Func' дважды, когда два объявления не согласны. – Yakk