You've declared a static member
but have you actaully created such a member?
Static members need to be defined and initialised outside the class declaration. Do you have a line in a .cpp file somewhere like:-
void (*CSharedData::CashierDisplayEventRef)( char ) = 0;
Don't take my syntax too literally, I can never remember the correct way of refering to a function pointer member which is why I usually use a
for the function pointer type in the header file.
typedef void (*CashierEventCallback)( char );
static CashierEventCallback m_spEventCallbackFunc;
CashierEventCallback CSharedData::m_spEventCallbackFunc = 0;