阅读本文先阅读下两文:
http://blog.csdn.net/gubenpeiyuan/article/details/11193865
http://blog.csdn.net/gubenpeiyuan/article/details/11192583
阅读之后,给出一个函数运用实例。方式为定义一个函数指针类型,直接调用后,回调。
typedef void (*CallFun)(Msg *msg); bool CheckConfigAndDoFun(const char *ConfigPath,const char *ConfigName,const char *Val, CallFun fun,Msg *msg) { char *ConfigVal = GetConfigVal(ConfigPath,ConfigName); if(ConfigVal==NULL) { printf("Val Get Error\n"); return 1 ; } else{ if(!strcmp(ConfigVal,Val)) { (*fun)(msg); return 0 ; } else{ printf("Val Not match\n"); return 1 ; } } return 1 ; }
CheckConfigAndDoFun("TrackConfig","DataLogEnable","Yes",&PublishRecordContentToTXT,&msgInstance);
注:C++若是调用类中的成员,编译时需加入 -fpermissive
或者将被引用的函数放到类的外部。