Я хотел бы иметь частный статический указатель на функцию в моем классе. По сути, это будет выглядеть так:
//file.h
class X {
private:
static int (*staticFunc)(const X&);
...
public:
void f();
};
//file.cpp
void X::f()
{
staticFunc(*this);
}
Это дает мне ошибку "неразрешенный внешний символ". Я знаю, что статические члены также должны быть инициализированы в .cpp, я пробовал это:
int (X::*staticFunc)(const X&) = NULL;
но это дает мне ошибку "инициализация функции". Это дает мне более ужасную ошибку, если я пытаюсь инициализировать ее с помощью существующей функции. Без "= NULL" я получаю ту же ошибку.
Спасибо.