c++ - 函数指针作为参数

标签 c++ function pointers function-pointers

我尝试调用一个没有参数作为函数指针传递的函数,但我无法让它工作。

void *disconnectFunc;

void D::setDisconnectFunc(void (*func)){
    disconnectFunc = func;
}

void D::disconnected(){
    *disconnectFunc;
    connected = false;
}

最佳答案

正确的做法是:

typedef void (*callback_function)(void); // type for conciseness

callback_function disconnectFunc; // variable to store function pointer type

void D::setDisconnectFunc(callback_function pFunc)
{
    disconnectFunc = pFunc; // store
}

void D::disconnected()
{
    disconnectFunc(); // call
    connected = false;
}

关于c++ - 函数指针作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2582161/

相关文章:

c++ - 返回值优化 (RVO) 不是错误吗?

c - 对 avltree_init 的 undefined reference

delphi - 如何声明基于泛型类型的指针?

c++ - 通过引用返回指针数组

C# - 更改函数内的数组值

c++ - 函数原型(prototype)中的常量

c++ - 从 boost asio 客户端发送数据

c++ - 缺少后缀时编译器选择前缀++ - 谁说的?

node.js - 从node.js中的firebase数据库中批量删除项目

function - 函数的多个参数