将类的静态成员函数做为回调函数
例如:(1.h)中声明如下
typedef void (__stdcall *CALLBACK_Func)(char *str,UINT cbSize,Bool bIsOver);
class A
{
.....
void f(CALLBACK_Func func);
}
A类的实现在另外一个DLL中。
现在在B类的
(2.h)声明如下
#include "1.h"
.....
class B
{
....
void call();
static void __stdcall func(char *str,UINT cbSize,Bool bIsOver);
}
在2.cpp中实现成员函数call()
void B::call()
{
A a;
a.f(func);
}
请问这样有什么问题吗,DLL已经连接进去了
[最优解释]
C++Builder增加了一个闭包关键字回调调用类函数。
[其他解释]
2.cpp中实现成员函数call()
是这样的
void B::call()
{
A a;
a.f(B::func)
}