Funktion mit Parametern als Argument

28/05/2008 - 21:36 von Jochen Hub | Report spam
Hi,

ich habe eine kleine Frage: Ich moechte eine Routine aus den numerical
recipies fuer eine Optimierung verwenden (ich weiss, der Code in 'NR in
C' laesst zu wuenschen uebrig...seufz). Die Routinen in den NR
benoetigen oft als ein Argument eine Funktion (die z.B. optimiert werden
soll):

float golden(float a, float b, float c, float (*f)(float), ...)

Die Funktion f benoetigs in meinem Fall aber Parameter, die erst zur
Runtime festgelegt werden, z.B.

soll f(x)=a*sin(x)

wobei a zur Runtime festgelegt wird.

Wie kann ich in diesem Fall die Funktion golden verwenden? Geht dies,
ohne a global zu machen?

Danke im Voraus,
Jochen
 

Lesen sie die antworten

#1 ram
28/05/2008 - 21:43 | Warnen spam
Jochen Hub writes:
Wie kann ich in diesem Fall die Funktion golden verwenden?
Geht dies, ohne a global zu machen?



Mit »static« kannst Du für einen Bezeichner »a« mit
Dateigültigkeitsbereich interne Bindung festlegen.

Dann kannst Du »a« und die Funktion in eine
Übersetzungseinheit packen, die nichts anderes enthàlt
(oder gegebenenfalls noch eine Funktion, um a zu setzen).

Ähnliche fragen