Why callback functions needs to be static when declared in class
- by Dave17
I was trying to declare a callback function in class and then somewhere i read the function needs to be static but It didn't explain why?
#include <iostream>
using std::cout;
using std::endl;
class Test
{
public:
    Test() {}
    void my_func(void (*f)())
    {
        cout << "In My Function" << endl;
        f(); //Invoke callback function
    }
    static void callback_func()
    {cout << "In Callback function" << endl;}
};
int main()
{
    Test Obj;
    Obj.my_func(t.callback_func);
}