Funktionsname als Argument

25/04/2008 - 18:09 von Yoshi Rokuko | Report spam
Hallo,

ich moechte in einem Unterprogramm als Argument eine Funktion
uebergeben die in dem Unterprogramm verwendet wird. Beim Aufruf des
Unterprogramms im Hauptprogramm soll somit erst die Funktion festgelegt
werden die im Unterprogramm als dummy ihren Platz hat.

Vielleicht wird so klarer was ich meine:

Unterprogramm:
void unterprog(double *x, int n, void func(double *y, int n)) {
...
func(bla,blub);
...
}

Funktion:
void fkt(double *z, int n) {
...
}

Hauptprogramm:
int main() {
...
unterprog(a,b,???);
...
}

D.h. ich moechte im Hauptprogramm das Unterprogramm mit den
Funktionenargument fkt aufrufen, weiss nicht so recht wie ich das machen
soll, weil ja auch die Argumente von fkt() erst im Unterprogramm zur
Verfuegung stehen.

Ich wuerde mich ueber jede Anregung freuen, z.B. auch Links, hab nich
so richtig was gefunden im Netz. Danke fuer jede Hilfe.

Gruss y0shi
 

Lesen sie die antworten

#1 Claudio Carobolante
25/04/2008 - 18:35 | Warnen spam
Yoshi Rokuko wrote:

ich moechte in einem Unterprogramm als Argument eine Funktion
uebergeben die in dem Unterprogramm verwendet wird. Beim Aufruf des
Unterprogramms im Hauptprogramm soll somit erst die Funktion festgelegt
werden die im Unterprogramm als dummy ihren Platz hat.

void unterprog(double *x, int n, void func(double *y, int n)) {



void unterprog(double *x, int n, void (*func)(double*, int)) {

Funktion:
void fkt(double *z, int n) {
...
}

Hauptprogramm:
int main() {
...
unterprog(a,b,???);



unterprog(a,b,fkt);

cc

Ähnliche fragen