静态成员函数才能做钩子???

做回调注册时,一般使用静态成员函数,否则会报错,就算报错也还需要把this指针传过去

#include <iostream>
using namespace std;

typedef  void(*FUNC)(int a);

void regfunc(FUNC pfunc)
{
    pfunc(10);
}

class USB {
public:
    void func1(int a)
    {
        cout <<"func1" <<a << endl;
    }
    static void func2(int a)
    {
        cout << "func2" << a << endl;
    }
    void play()
    {
        //regfunc(func1); //E0167    "void (USB::*)(int a)" 类型的实参与 "FUNC" 类型的形参不兼容    
        regfunc(func2);
    }
};

 

posted @ 2019-06-03 21:54  ren_zhg1992  阅读(92)  评论(0)    收藏  举报