我有一个函数,它以下一个方式声明:
func(int n,double *xk, double (*f)(int x));
我想将其分配到一个单词中,例如typedef int (*func_t)(int, *double, ...);
. 我知道如何分配函数,但不明白如何在参数中描述函数。
你可以做
typedef double (*FuncPtr)(int x);
int func(int n,double *xk, FuncPtr f);
typedef int (*func_t)(int,double*,FuncPtr);
一步一步减少不必要的混乱和混乱。
typedef int (*func)(int, double*, double (*)(int));
假设函数声明如下所示:
int func(int n, double *xk, double (*f)(int x)) {
// ...
}
那么指向该函数的指针的 typedef 如下所示:
typedef int (*funcPointer)(int, double *, int, int, double (*)(int));
// 用法:
funcPointer ptrName = func;
假设您想将此 ptrName 赋予一个名为 doThis() 的函数:
int doThis (funcPointer ptrName) {
return 0;
}
那么您可以使用以下方法调用它:
int y = doThis(ptrName);
祝你好运!=)