一、回调函数在同一文件中的实现
首先看函数原型与函数指针定义的区别:
函数原型:void fun();
函数指针:void (*fun) ();//为简化可自定义一下为:typedef void (*FUN) ();
回调函数实现代码:
typedef void (*CALLBACK) (); //把一个void (*fun) ()这样的函数指针自定义为CALLBACK;
void callback() //回调函数
{
cout << "this is in callback function!" << endl;
}
void funB(CALLBACK cb) //参数为一个函数指针
{
cb();//在此处回调,注意一定要加(),如果回调函数有参数,应该传参数进去
}
int main(int argc, char **argv)
{
funB(&callback);//此处可传callback,也可传&callback,在后面会详细解释