c++中回调函数和函数指针的使用
#include "stdafx.h" #include <iostream> //#include <string> using namespace std; typedef struct { char * from; char * to; char * id; char * type; }head; typedef struct { head *head_; char * msg_; }msg; struct sn { char * ne; }; typedef void(*CALLBACK)(void *param_); //创建需要使用回调函数的函数 void function(CALLBACK func, void *param) { func(param); } //创建和函数指针类型一致的函数 void func_hello(void *param) { char * d= (char*)param; cout << d << endl; } int main() { string i = "w3r4werwe"; char *ff = (char*)i.c_str(); //使用需要回调函数的函数 function(func_hello, (void*)i.c_str()); //申明函数指针 CALLBACK myfun; //将函数地址赋值给函数指针 myfun = func_hello; //使用函数指针调用函数 myfun((void*)i.c_str()); system("pause"); return 0; }