c++ - 什么是 void(*)(void *)

标签 c++ c function-pointers

<分区>

Possible Duplicate:
What does “void *(*)(void *)” mean in c++?

类型 void(*)(void *) 是什么意思?

我在《用 C 掌握算法》一书的示例代码中遇到了这种类型

void list_init(List *list, void (*destroy)(void *data)) 
{
...

...
}

最佳答案

这是一个函数指针。

void (*destroy)(void *data)

destroy 是一个指向函数的指针,该函数返回 void 并将 void* 作为参数。

cdecl.org是识别复杂 C 声明的有用工具。另外,看看 the spiral rule .

关于c++ - 什么是 void(*)(void *),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830860/

相关文章:

c++ - 如何删除传播或检测到的对象?

c++ - 将核心转储从 Unix 生产环境移动到其他开发 Unix 环境

原始指针和 shared_ptr 之间的 C++ 接口(interface)

c - 将返回值分配给 int 数组

c - 如何在断点上运行 gdb 中的程序函数?

c++ - 为什么获取成员函数指针值需要在类内部进行类名限定?

检查函数是否与 C 中的 typedef 函数类型相同?

scala - 在Scala中是否可能有{key-> function call}的映射?

c++ - STL vector 交换结构 (C++)

c++ - 将 C 函数代码转换为 C++ 类方法