Ric*_*ins 2 c typedef function callback
我得到了一个代码。我需要使用以下函数,但在调用它时遇到问题。
int myFunction(const struct LQuery *pQuery,
f_Callback Callback,
const void *pPriv);
Run Code Online (Sandbox Code Playgroud)
我有以下定义
typedef void (f_Callback) (int NumOfRecordsFound,
void *pPriv,
const tL_QueryResult *pData);
Run Code Online (Sandbox Code Playgroud)
我知道这Callback应该是指向的指针,my_callbackFunction但我似乎无法理解如何为其设置参数。据我所知pQuery传递给回调函数但f_Callback需要3个参数。
IE
int main (int Argc, char *pArgv[])
{
myFunction(what should go here and WHY)
}
Run Code Online (Sandbox Code Playgroud)
回调函数将从myFunction. 您只需将回调函数作为参数传递。下面是一个例子:
#include <stdio.h>
typedef void (f_Callback)(int a,
int b,
int c);
int myFunction(int a, f_Callback* callback)
{
callback(a, a+1, a+2);
}
void myCallback(int a, int b, int c)
{
printf("a: %d, b: %d, c: %d\n", a, b, c);
}
int main()
{
myFunction(5, &myCallback);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
预期输出:
$./a.out
a: 5, b: 6, c: 7
Run Code Online (Sandbox Code Playgroud)