小编mar*_*mad的帖子

参数列表中的C函数声明

我在C代码中发现有点令人困惑的事情

struct SomeStruct {
    // ...
    void (*f)(const void *x);
};

void do_some( void f(const void *x) ) { // what?
    struct SomeStruct* v;
    // ...
    v->f = f;
}
Run Code Online (Sandbox Code Playgroud)

我可以理解do_some取函数而不是函数指针.但是void do_some( void (*f)(const void *x) )在实践中有什么不同?什么时候应该用这个?在C++中允许这样做吗?

c c++ function

5
推荐指数
1
解决办法
127
查看次数

标签 统计

c ×1

c++ ×1

function ×1