c++怎么通过定义回调函数传回数据?如题,使用者按照要求定义函数,然后我给他传回数据。大概怎么写
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
回调函数是C++从C语言继承而来的语言特性,就是函数指针的应用。typedef void* (*CallbackFunc)(void*); 这里定义了一个type,它是函数指针类型,指向以void*为参数,并返回void*的指针(注意*的位置和括号的位置);然后 void MyUseCallbackFunc(CallbackFunc func); 用CallbackFunc作为参数类型;然后写具体的CallbackFunc实现:void* MyCallback(void* ctx) { ... 这里是你自己的回调代码 }; 最后调用回调使用函数 MyUseCallbackFunc(MyCallbackFunc);
慕哥9229398
TA贡献1877条经验 获得超6个赞
123456789101112131415161718192021222324252627282930 | #include<stdio.h> typedef void (* FUNC_POINTER)( char *); void callback1( char *s){ printf ( "%s\n" ,s); } void callback2( char *s){ printf ( "[" ); printf ( "%s" ,s); printf ( "].\n" ); } void func( char *s,FUNC_POINTER p){ p(s); } int main(){ FUNC_POINTER p; p = callback1; func( "callback1" ,p); p = callback2; func( "callback2" ,p); return 0; } |
- 2 回答
- 0 关注
- 1269 浏览
添加回答
举报
0/150
提交
取消