我有一個數組,看起來像這樣:void *的函數指針數組轉換
void* functions[]; // pointer to functions, each function returns an int and has int parameters A and B
我想丟在下面這段:
int (*F)(int a, int b) = ((CAST HERE) functions)[0];
int result = F(a, b);
我已經嘗試過「(INT( *)(int,int))「作爲轉換,但編譯器抱怨我試圖使用函數指針作爲數組。
編譯器是正確的。檢查你的括號。 (0); –
可以嘗試:'int(* F)(int,int)=(int(*)(int,int))functions [0];' – 4386427
使用typedef ... –