我已将一系列函数声明为:
void * (thread_fun[100])(void *);
但是,编译因错误而终止:
错误:将'thread_fun'声明为函数数组void * (thread_fun [])(void *);
我的声明有什么问题。而且,如何纠正它。 我想在我的程序中创建一个函数数组。建议我一个解决方案。
答案 0 :(得分:8)
无法声明函数数组。您只能声明要运行的指针数组:
void * (*thread_fun[100])(void *);
答案 1 :(得分:1)
用户 Zbynek Vyskovsky 注意到,你只能拥有一系列的函数指针。
但是,我还建议您使用typedef
来简化函数指针的处理:
typedef void* (*FunctionPtrType)(void*); // Define type
FunctionPtrType thread_fun[100]; // Declare the array