如何声明一个函数数组?

How to declare an array of functions?

假设我想声明一个函数数组,然后试试下面的方法

int (*funcs)(int, int)[10];

但事实证明,下面的声明代表一个返回数组的函数,它不能编译。

如何正确声明函数数组?

严格来说,您不能声明函数数组。您可以声明一个函数指针数组。

你的意思好像是

int (*funcs[10])(int, int);

另一种方法是引入 using 声明(或 typedef 声明),例如

using FP = int( * )( int, int );

FP funcs[10];

using FUNC = int ( int, int );

FUNC * funcs[10];

应该是

int (*funcs[10])(int, int);

或寻求using(或typedef)的帮助。

using fp = int (*) (int, int);
fp funcs[10];