关于函数指针的写法。解决思路

关于函数指针的写法。
我有一个主程序和一个dll程序,我想在主程序中,将自已的一个函数指针传给dll,然后dll回调这个主程序的函数,但不知道写法,各位帮帮忙。

主程序:
[/code]


class A{
 public:
    
    void methodA()
    {
         HMODULE h= LoadLibrary("test.dll");
         //接下来这里应该怎么写才能将methodB这个方法传给test.dll程序中的test方法呢?
         //需要再声明一个类函数指针做为成员变量吗?
    }
    void methodB(int x)
    {
    }
}



test.dll:


....
        
    void test(//这里应该怎么接收主程序的那个函数指什啊?这里参数怎么写呢?)
    {
          
    }
.....
   



各位帮帮忙,小弟不太懂c++的这种语法,原理我知道,但就是写不出来。如果主程序中不是采用类的话,我还能写写。如果是类的一个函数指针,就不会写了
C++ 指针

------解决方案--------------------

DLL:
typedef void (*method)(int);
void test(method *fun)
    {
           int i = 10;
           (*fun)(i);
    }

主程序:

typedef void (*test)(method *fun);

{
    HMODULE h= LoadLibrary("test.dll");
         //接下来这里应该怎么写才能将methodB这个方法传给test.dll程序中的test方法呢?
         //需要再声明一个类函数指针做为成员变量吗?
    test *fun = GetProcAddress(h, "test");
    if (fun)
    {
        fun(methodB);  // method必须为全局或者静态东西成员函数
    }
}