Array von Funktionszeigern
-
Hallo!
Ich scheitere gerade daran, ein Array aus Funktionszeigern zu schaffen. So schwer kann es ja theoretisch nicht sein:Den Funktionspointer habe ich so deklariert:
void (*func)(struct REGISTERS *r);
Nun will ich aber daraus ein Array mit 16 Elementen schaffen:
void (*func)(struct REGISTERS *r)[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
Hier spielt der GCC aber nicht mehr mit und erzählt mir folgendes:
Fehler: Deklaration von »irq_routines« als Feld von voids
Ich habe absolut keine Ahnung, was ich jetzt tun soll. Kann mir da jemand helfen?
Besten Dank!
-
Du willst ja keinen Zeiger auf ein Array von 16 Funktionen (was garnicht geht), sondern ein Array von 16 Zeigern auf Funktionen. BTW: Einfacher geht's mit typedefs.
void (*func[16])(struct REGISTERS *r); // oder besser typedef void (*function)(struct REGISTERS*); function func[16];