C++で関数ポインタを動的にメモリ確保できるはずと思って、いろいろやってみたら以下のコードのようにしたらできたのでメモしておきます。
C++は始めてもう2, 3年経ちますが、意外と知らないことって結構あります。まだまだ中級にすらなれない未熟者です。
C++は始めてもう2, 3年経ちますが、意外と知らないことって結構あります。まだまだ中級にすらなれない未熟者です。
#include <stdio.h>
int (*functions[2])(int);
int Add(int a){
return ++a;
}
int Sub(int a){
return --a;
}
int main(){
int num_func=2;
int (**fp)(int);
//** alloc mem
fp = new (int(*[num_func])(int));
//** assign
fp[0] = Add;
fp[1] = Sub;
//** execute
for(int i=0; i<num_func; i++){
printf("%d\n", fp[i](10));
}
delete[] fp;
return 0;
}