Ik heb een function pointer table met een aantal functies. Nu wil ik een functie aanroepen met een pointer naar deze table. Ik heb het volgende:
Ik heb zelf alleen dit kunnen vinden maar snap het niet helemaal.
Ik heb zelf dit geprobeerd:
Maar ik krijg op de eerste line een cannot convert error.
Weet iemand een goede site waar dit verder op uitgelegd staat of ziet iemand zo het probleem?
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
| static int (* const pf[])(void *pointer) = { &functie1, &functie2, &functie3 }; void blaat(void * p_to_ftable) { (*pf[fselect])(pointer); //todo: use pointer from parameterlist } blaat(&pf); |
Ik heb zelf alleen dit kunnen vinden maar snap het niet helemaal.
Ik heb zelf dit geprobeerd:
C:
1
2
3
4
5
| void blaat(void * p_to_ftable) { int (* const ftable)(void *pointer) = *(int (* const **)(void *pointer))p_to_ftable; ftable[fselect](pointer); } |
Maar ik krijg op de eerste line een cannot convert error.
Weet iemand een goede site waar dit verder op uitgelegd staat of ziet iemand zo het probleem?