Как я могу использовать член-указатель статической функции в своем шаблоне класса?
Я работаю с C ++ в Visual Studio, и мой код выглядит примерно так:
template<typename T>
class ClassTemplate
{
public:
static T* CallIt() { return ClassTemplate<T>::mFunctionPointer(); }
private:
static T* (*mFunctionPointer)();
};
Когда я компилирую, я получаю ошибку «неразрешенный внешний символ».Я думаю, что я должен сделать что-то подобное вне объявления класса:
template<typename T>
T* (ClassTemplate<T>::*mFunctionPointer)() = NULL;
К сожалению, тогда я получаю C2998, "не может быть определение шаблона".
Есть идеи?