Funktionen



  • Hallo
    Ich kriege hier gleich die Turbokrise. Versuche gerade mit Funktionen zu arbeiten aber der COmpiler gibt mir immer aus prase error before )
    #include<iostream.h>
    int fun();
    int main()
    {
    int zahl1;
    int zahl2;
    cout<<"Bitte geben sie eine Zahl ein";
    cin>>zahl1;
    zahl2=fun(int zahl1);<<<<Hier ist der Fehler. Zahl2 ist doch Zahl 4 die zurückgegen wird oder????. Und Zahl 1 wird Zahl 3. Was ist den daran falsch. Oder liegt es am Compiler hab den Dev-C++?????<<<<<
    cout<<zahl2;
    return 0;
    }
    int fun(int zahl3)
    {
    int zahl4;
    zahl4=zahl3 * 2;
    return zahl4;
    }



  • Hi,

    du darfst nicht int variable schreiben, sondern nur variable, also den Typ bei der Parameterübergabe weglassen!

    Wenn du auf die Variable zugreifst, schreibst du den Typ ja auch nicht dazu.

    ChrisM



  • Wenn ich das int entferne kommen 3 Fehlermeldungen erstaml too many arguments bei int fun(); dann bei zahl2=fun(zahl1) at this point in file und dann bei cout<<zahl2;passe error before



  • #include<iostream>
    
    using namespace std;
    
    int fun(int zahl3);
    
    int main()
    {
    	int zahl1;
    	int zahl2;
    	cout<<"Bitte geben sie eine Zahl ein: ";
    	cin>>zahl1;
    	zahl2=fun(zahl1);
    	cout<<zahl2<<endl;
    	return 0;
    }
    
    int fun(int zahl3)
    {
    	int zahl4;
    	zahl4=zahl3 * 2;
    	return zahl4;
    }
    

    So müßte es eigentlich funktionieren...



  • Hi,

    das int darfst du natürlich nur beim Aufruf entfernen. Nicht beim Prototypen (Deklaration) oder der Implementierung (Definition).

    ChrisM



  • Jo THX


Anmelden zum Antworten