Вы можете использовать std::vector
:
#include <vector>
typedef void (*FunPointer)(void *);
std::vector<FunPointer> pointers;
Если вы действительно хотите использовать статический массив, было бы лучше сделать это, используя FunPointer
i, определенный во фрагменте выше:
FunPointer testArray[5];
testArray[0] = some_fun_pointer;
Хотя я бы все равно выбрал векторное решение, учитывая, что вы не знаете размер массива во время компиляции и что вы используете C ++, а не C.