现在的位置: 首页 > 综合 > 正文

函数指针高级运用(C函数指针)

2013年04月03日 ⁄ 综合 ⁄ 共 666字 ⁄ 字号 评论关闭

阅读本文先阅读下两文:

          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

         或者将被引用的函数放到类的外部。

抱歉!评论已关闭.