如何声明一个函数数组?
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];
假设我想声明一个函数数组,然后试试下面的方法
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];