Eine Array aus Funktionspointern erstellen
-
Hullo
ich will ein zweidimensionales Array [6][3] aus Funktionspointern erstellen, doch leider beklagt sich mein compiler (Borland C++5.1) immer ueber "Not an allowd type " oder "Size unknown".
Ich hab zB. das folgende versucht:
char *zeigerarray[6][3](int zahl);
funktioniert aber nicht, hat jemand eine idee? und wie kann ich dann den einzelnen Elementen Funktionen zuweisen?
einfach mit
zeigerarray[1][3]=funktionsmae; vielleicht?danke fuers vorbeischaun
-
typedef char (*zeigerfunc) (int zahl); zeigerfunc array [6][3];
MfG SideWinder
-
thx
hab auch zu schnell gepostet und zu langsam gedacht,
es scheint auch mitchar (*zeigerarray[6][3])(int zahl);
zu funktionieren.
-
Ja, bloß gehört dir für diesen Stil eine auf die Finger geklopft. Wenn schon Funktions-Pointer dann schönes Typedef :p
MfG SideWinder
-
Nur mal so als Frage, rein aus Interesse. Wozu verwendet man ein 2 dim Feld mit Funktionspointern?
tschöö
tt
-
Ich möchte einzelnen Menüpunkten in einem Programm Funktionen zuweisen, jedoch ist es mir zu viel Arbeit über if und Switch Anweisungen die passende Funktion herraus zu suchen, und so mache ich das ueber das array.
bsp:
Menuefunktion[menue][unterpunkt]();
-
Es pass vielleicht nicht ganz, aber kann mir mal jemand einen Cast zeigen. Also von void* zu void (*Func)() ? Wäre das
void (*Func)(); Func = (void (*Func)())&main;
Das nimmt mein Compiler aber nicht an, und ich möchte wissen, wie & ob sowas ohne TypeDef funktioniert.
-
// Ohne Typedefs eigentlich ne Frechheit - mit ists aber auch nicht viel besser int (*funcptr1) (int,int); int (*funcptr2) (); FktPointer2 = (int(*)())FktPointer1;
, sieht derart böse aus...
MfG SideWider
-
HI
**void* zu void (*Func)()
man castet keine Objektzeiger zu Funktionszeigern
bye
tt
-
Wo mache ich das?
MfG SideWinder
-
SideWinder
**********schau mal weiter oben da nennt sich jmd "HI" und auf ihn bezog sich meine Antwort.
EDIT: Und das "worauf" es sich bezog steht auch da.
bye
tt
-
oh, dachte mit "hi" meinst du auch "hi"
MfG SideWinder