call by reference



  • Hi,

    mal ne kurze Frage. Ich versuche mir schon seit längeren C++ anzueignen. Allerdings hab ich ein ANSI C Buch als Grundlage und arbeite mit dem Borland Builder. Das es da Untersiede gibt ist mir eigentlich klar und bis jetzt hab ich die auch alle herausgefunden. Doch jetzt stehe ich vor folgendem Problem, für das ich auch nach Stundenlanger Suche keine Lösung finde:

    void plot(double (*fp)())
    {
        double x;
    
        printf(" x f(x)    \n");
        printf("------------\n");
        for(x=0.0; x<= 10.0; x=x+1.0){
            printf("%2.0f ", x);
            printf("%10.4f\n", (*fp)(x)); // Fehlermeldung (siehe unten)
        }
        printf("\n");
    
    }
    

    Also an der oben markierten Stelle bekomme ich die Fehlermeldung "zu viele Parameter im Aufruf. Wo liegt da das Problem?

    Danke für eure Hilfe



  • Wie rufst du die Funktion denn auf, also was übergibst du als Parameter?



  • schätze, du meintest

    void plot(double (*fp)(double))
    


  • @Jansen

    der Aufruf würde z.B. so aussehen: plot(sin);

    @volkard

    Genau das war es. Ich glaub ich sollte mal ne Pause einlegen. Ich seh den Wald vor lauter Bäumen nicht mehr.


Anmelden zum Antworten