Hallo C++ Freunde,
ich arbeite mit Borland C++Builder3.
Nun hätte ich gerne ein Array von Zeigern auf Funktionen verwendet, etwa
nach dem Muster:
int (*Funktionszeiger[])(int,int) = {Funkt1,Funkt2,Funkt3};
Doch ich scheitere schon bei der einfachen Implementierung eines solchen Zeigers, z.B.
void TForm1::ZeigeZahl(int x)
{
ShowMessage(x);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
void (*Funktionszeiger)(int);
int y=10;
Funktionszeiger = ZeigeZahl; //->Fehler
Funktionszeiger(y);
}
Hier erscheint die FehlerMeldung:
[C++Fehler] FunktArray1.cpp(61): Member function must be called or its address taken.
Die Funktion "ZeigeZahl" ist selbstverständlich in der Header-Datei deklariert.
Wenn ich entsprechendes als Kommandozeilen-Programm compiliere funktioniert es problemlos.
Wo liegt der Fehler?
Günter.
ich arbeite mit Borland C++Builder3.
Nun hätte ich gerne ein Array von Zeigern auf Funktionen verwendet, etwa
nach dem Muster:
int (*Funktionszeiger[])(int,int) = {Funkt1,Funkt2,Funkt3};
Doch ich scheitere schon bei der einfachen Implementierung eines solchen Zeigers, z.B.
void TForm1::ZeigeZahl(int x)
{
ShowMessage(x);
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
void (*Funktionszeiger)(int);
int y=10;
Funktionszeiger = ZeigeZahl; //->Fehler
Funktionszeiger(y);
}
Hier erscheint die FehlerMeldung:
[C++Fehler] FunktArray1.cpp(61): Member function must be called or its address taken.
Die Funktion "ZeigeZahl" ist selbstverständlich in der Header-Datei deklariert.
Wenn ich entsprechendes als Kommandozeilen-Programm compiliere funktioniert es problemlos.
Wo liegt der Fehler?
Günter.
Comment