Currently I have a class of this kind, shortened for simplicity:
class MyClass {
public:
MyClass();
void* someFunc(void* param);
}
See this sample:
#include
class MyClass
{
public:
MyClass()
{
}
void* someFunc(void* param)
{
std::cout << "someFunc" << std::endl;
return (void*)0;
}
};
typedef void* (MyClass::*MemFun)(void*);
void secondFunc(int a, int b, MemFun fn)
{
MyClass* ptr = 0;
// This is dangerous! If the function someFunc do not operate the data in the class.
// You can do this.
(ptr->*fn)(0);
std::cout << "Call me successfully!" << std::endl;
}
int main()
{
secondFunc(1, 2, &MyClass::someFunc);
system("pause");
return 0;
}