Wo soll der Fehler sein ?



  • Hallo, zusammen ich kann hier keinen Fehler Endecken

    *******************************************************************************
                                    Funktionszeiger
    *******************************************************************************/
    
    #include<iostream.h>
    
    int (*rechnen) (int, int);
    
    // Funktion zum aAddieren zweier Zahlen
    int addiern(int summand1, int summand2)
    {
            return(summand1 + summand2);
    }
    
    // Funktion zum Multiplizieren zweier Zahlen
    int multiplizieren( int summand1, summand2) <---------------- Fehler ?
    {
            return(summand1 * summand2);
    
    }
    
    void main()
    {
            // Zu erst Addieren
            rechnen = addieren;
            cout << rechnen(5,5) <<'\n';
    
            // Dann Multiplizieren
            rechnen = multiplizieren;
            cout << rechnen(5,5);
    
            char p[50];
            cin.getline(p, 50);
    }
    

    Bekomme Fehler Meldung Error E2303 Type name expected in Zeile 17
    Wer weiss rat ?
    ps: bitte nicht über void main() meckern is ne vorgabe die ich so machen muss

    danke schon mal..........



  • UTHAC schrieb:

    int multiplizieren( int summand1, int summand2) // int vor summand2 vergessen
    {
            return(summand1 * summand2);
    
    }
    

    UTHAC schrieb:

    ps: bitte nicht über void main() meckern is ne vorgabe die ich so machen muss

    Dann mecker ich halt über das hier ;):

    #include <iostream.h>
    

    So wäre es besser:

    #include <iostream>
    

    Wobei du dann noch ein std:: vor deine cout - und cin -Anweisungen schreiben müsstest.



  • Zeile 13:

    int multiplizieren( int summand1, int summand2)
    

    Hast glaub ich da das int vergessn...soweit zeigts mir dann keine Fehler mehr an in meinem Compiler, außer:'main' must return 'int'" 😉 Aber sagtest ja...daran soll ich mich net stören :p

    Du musst deshalb summand 2 nochmal deklarieren, da die Variablen, wenn sie nicht Global sind, nur innerhalb der Funktion gelten!(Falls das nicht stimmt bitte korrigiert mich...bin selbst noch Anfänger!^^)

    Gruß,
    Finn



  • na toll und wieder habe ich jemand 1 min seines lebens geklaut.
    danke dafür.



  • Ja du hast genau 2 min. vor mir gepostet :p



  • Finn schrieb:

    Du musst deshalb summand 2 nochmal initalisieren, da die Variablen, wenn sie nicht Global sind, nur innerhalb der Funktion gelten!(Falls das nicht stimmt bitte korrigiert mich...bin selbst noch Anfänger!^^)

    Naja - du meintest schon das richtige - allerdings hat das nix mit Initialisierung zu tun ^^

    bb



  • Besser?^^



  • Finn schrieb:

    Besser?^^

    besser ^^


Anmelden zum Antworten