:confused:
Hi,
habe da ein Prob mit Funtionszeigern, vieleicht kann mir jemand helfen!
Arbeite grade das Buch "Die C++ Programmiersprache" durch.
Bin an dem Kapitel Zeiger auf Funktionen angelangt.
So die Übung lautet wie folgt ...
"Schreiben Sie Deklarationen für das folgendende:
eine Funktion, die Argument vom char* und int& hat und keinen Wert zurückgibt;
einen Zeiger auf solche Funktion;
eine Funktion die einen solchen Zeiger als Argument erhält;
eine Funktion die einen solchen Zeiger zurückgibt.
Schreiben Sie eine Definition einer Funktion, die einen solchen Zeiger als Argument und ihr Argument als Rückgabewert liefert.
TIPP: Benutzen Sie typedef."
Habe auch schon rumexperimentiert, aber komm nicht weiter ...
#include "..\std_include.h"
void f1(char*, int&);
void (*zf1) (char*, int&);
typedef void (*fzeiger)(char*, int&) ;
fzeiger fnk1(char*, int&);
fzeiger (*z)(char*, int&);
void* (zeig) (void* a);
typedef void ( *zeig2) (void*);
zeig2 zeige(zeig2);
void main()
{
int d=9;
z= &fnk1; //geht
zf1 =&f1; // geht auch
zf1("Hallo", d);
d++;
fnk1("hallo", d);
d++;
z("hallo2", d);
cout <<zeig(*zf1)<<" *zf1"<<endl; // funzt auch
cout <<zeig(*z) <<" *z "<<endl<<endl; // funzt auch
cout <<zeige(*zeig); // aber da gibt probs mit der konvertierung
cin.get();
}
fzeiger fnk1(char* a, int&
{
cout <<a<<" "<<b<<endl;
return 0;
}
void* zeig(void* a)
{
cout <<a<<endl;
return a;
}
void f1(char* a, int&
{
cout <<a<<" f1 "<<b<<endl;
}
zeig2 zeige(zeig2 a)
{
cout<<a<<endl;
return a;
}
Wäre sehr nett wenn Ihr mir helfen könntet.
Gruß