64,683
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
typedef int(*generic_function)(void* para);
int framework(generic_function f, void* para)
{
return f(para);
}
double foo(double x, double y, double z)
{
return x + y * z;
}
typedef struct
{
double x;
double y;
double z;
double* f;
}foo_para;
int generic_foo(void* para)
{
foo_para* p = (foo_para*)(para);
*(p->f) = foo(p->x, p->y, p->z);
return 0;
}
int main()
{
double result = 0.0;
foo_para p = {1.0, 1.0, 0.0, &result};
framework(generic_foo, &p);
printf("result: %lf\n", result);
return 0;
}