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

标签 c++

创建函数指针数组后 void(*array[d1])(int);

如何将它作为函数的参数传递?

callFunctions(int array[],int size){
    for(int i=0;i<size;i++){
        *array[i](0);
    }
}

编译器一直说我的参数类型不对

最佳答案

使用函数指针数组调用函数,如下所示:

 (*array[i]) ( 0 );

将您的 callFunctions 更新为:

/* void */ callFunctions( void (*fptr[ ])(int), int size )
{
   // (*fptr[ i ])( 0 );
}

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

相关文章:

c++ - 将 `auto` 关键字与 STL 迭代器一起使用

c++ - 如何在两个不同的命名空间(但只写一次)中使用不同的命名空间实现来定义相同的头文件?

使用 visual studio 2008 构建 C++ 项目

c++ - 如何按照 PKCS#11 使用 Microsoft Crypto API 和 USB Dongle

c++ - Visual Studio 2010 C++ native Debug模式资源

c++ - 为什么从不同的 "bases"调用 getter 和 setter?

c++ - 使用 ld : __stack_chk_guard@@GLIBC_2. 17 编译时出错

c++ - 简单的一行类方法返回错误值

c# - 从 C++ 到 C# 的 3D vector 结构

c++ - 为什么 libuv 定时器会漂移?