c++ - 有人可以解释一下吗?

标签 c++ function

下一行是什么意思?

void(*fnctn)(void(*)(int *,void **),int(*)(void**,int*));

最佳答案

您实际上拥有一个函数指针“fnctn”,它的两个参数采用两个函数指针。如果我们一点一点地分解它,您将得到以下内容:

第一个参数void(*)(int*, void**)是一个函数指针,返回 void 并采用 int* 和 void** 作为它的两个参数。

第二个参数int(*)(void**, int*)是一个函数指针,返回一个int值,以void**和int*为两个参数。

也许看下面更清楚:

typedef void(*param1)(int *, void**);
typedef int(*param2)(void**, int*);
typedef void(*fnctn)(param1, param2);

关于c++ - 有人可以解释一下吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810911/

相关文章:

c++ - 在不禁用 cout/cin 的情况下获取标准输出内容

c++ - 强制将对象作为拷贝传递给接收通用引用的函数

c - 为什么这个 "Implicit declaration of function ' X'”?

python - turtle 对按键没有反应

调用函数指针(语法)

表达式中的 Python 函数 - 推迟求值

c++ - 如何在 C++ 中通过网络共享 RAM 模块?

c++ - 如何在 native 事件中创建 OpenGL ES 2 上下文?

c++ - 非常量对象的 const vector