I would like to have a private static pointer to a function in my class. Basically, it would look like this:
//file.h
class X {
private:
static int (*staticFunc)(const X&);
...
public:
void f();
};
//file.cpp
void X::f()
{
staticFunc(*this);
}
This gives me an "unresolved external symbol" error. I know that static members must be initialized in the .cpp too, I've tried this:
int (X::*staticFunc)(const X&) = NULL;
but this gives me an "initializing a function" error. It gives me an uglier error if I try to initialize it with an existing function. Without "= NULL", I get the same error.
Thanks.
staticFunc = NULL;in the .cpp file? (Note: This is me forgetting if you have to redeclare the type in the .cpp file, sorry)