如下代码应该怎么改,可以在类CA中定义一个函数,在CA::test()中把这个函数赋给_funcList.pFunc_1 ,定义的这个函数不能是静态成员函数

如下代码应该怎么改,可以在类CA中定义一个函数,在CA::test()中把这个函数赋给_funcList.pFunc_1 ,定义的这个函数不能是静态成员函数

typedef int (*func_1)(int param1,int param2);

typedef struct stFuncList
{
    func_1 pFunc_1;
} FuncList;

int Fun_Init(FuncList* pExtFuncList)
{

    return 0;
}

class CB
{
public: void test() {}

};

class CC
{
public:
    CB* m_b;
};

class CA : public CC
{
    int fun1(int param1, int param2)
    {
        m_b->test();  // 定义的函数要使用类CB中的函数test(),所以不能是静态成员函数

        return 0;
    }

public:
    int test()
    {
        FuncList _funcList;

        _funcList.pFunc_1 = fun1;  // 在类CA中定义一个函数,可以赋值给_funcList.pFunc_1

        int iret = Fun_Init(&_funcList);
    }
};