我正致力于将C代码转换为c ++,在代码的一部分我有类似的东西 C中的函数数组看起来像:
这就是C的样子:
void func1(bool a)
{
..
}
void func2(bool a)
{
..
}
void func3(bool a)
{
..
}
struct func
{
void (*f)(incoming *);
int arg_length;
};
typedef struct func func;
func funcs[] = {
{ func1, 4 },
{ func2, 10 },
{ func3, 4 }
};
怎么能转换成c ++?
更新:
问题:这是没有静态函数指针的有效答案吗?
http://www.newty.de/fpt/fpt.html#chapter2
我也可以定义不同类型的成员函数指针的数组吗?
答案 0 :(得分:-1)
你可以定义一个类,并插入一个'[]'运算符来获取指向函数的指针。