Fehler im c++ source code

  1. Max02

    Max02 Thread StarterMacUser Mitglied

    Mitglied seit:
    08.10.2004
    Beiträge:
    157
    Zustimmungen:
    0
    Hallo Leute,

    wer kann mir da mal kurz helfen. Ich hab folgende Funktion geschrieben:
    Code:
    #include <iostream.h>
    using namespace std;
    
    void f_rek(int matrnr, int max_zif){
    	int x=matrnr%10;
    	if (matrnr){
    		if (!(x%2)){
    			if (x>=max_zif){
    				cout << x;
    				max_zif=x;
    			}
    		}
    		f_rek(matrnr/10, max_zif);
    		}
    		
    }
    int main () {
    	cout << f_rek(105276,0);
    }
    
    jedoch sagt mir xcode "invalid digit "8" in octal constant", ..

    was soll mir das sagen, ich steh da an.

    danke für eure hilfe
     
    Max02, 13.04.2005
  2. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.160
    Zustimmungen:
    3.885
    an welcher stelle sagt der das denn?
    (ich hoffe mal die formatierung ist beim pasten draufgegangen ;))
     
    oneOeight, 13.04.2005
  3. Max02

    Max02 Thread StarterMacUser Mitglied

    Mitglied seit:
    08.10.2004
    Beiträge:
    157
    Zustimmungen:
    0
    vor der funktion void... setzt er sein rotes kreutzerl :o)
     
    Max02, 13.04.2005
  4. Max02

    Max02 Thread StarterMacUser Mitglied

    Mitglied seit:
    08.10.2004
    Beiträge:
    157
    Zustimmungen:
    0
    oh, sorry,...

    in main vor "cout"
     
    Max02, 13.04.2005
  5. TheFallenAngel

    TheFallenAngelMacUser Mitglied

    Mitglied seit:
    27.10.2003
    Beiträge:
    501
    Zustimmungen:
    7
    Statt dem Komma ein Punkt.
    und die Main sollte unter Posix immer einen rückgabewert haben, also bitte ein "return 0;"
    die angabe des .h ist in cpp afaik nicht nötig
     
    TheFallenAngel, 13.04.2005
  6. oneOeight

    oneOeightMacUser Mitglied

    Mitglied seit:
    23.11.2004
    Beiträge:
    48.160
    Zustimmungen:
    3.885
    ähhh, ich frag mich gerade wieso du eine funktion die nichts zurückgibt auf cout umlenkst in main?

    cout << f_rek ist doch blödsinn, da f_rek als return type void hat...
    da versucht der compiler vergeblich was sinnvolles draus zu machen, was natürlich nicht klappt
     
    oneOeight, 13.04.2005
  7. autoexec.bat

    autoexec.batMacUser Mitglied

    Mitglied seit:
    21.01.2005
    Beiträge:
    2.113
    Zustimmungen:
    20
    Vl. noch ein paar allgemeine Sachen:

    1. Mach lieber #include <iostream> statt #include <iostream.h>
    2. return-Wert für main Funktion?
    3. Warum machst du cout << f_rek(105276,0); ? f_rek ist eine void-Fkt. Die liefert nichts zurück was du ausgeben kannst.
     
    autoexec.bat, 13.04.2005
  8. Max02

    Max02 Thread StarterMacUser Mitglied

    Mitglied seit:
    08.10.2004
    Beiträge:
    157
    Zustimmungen:
    0
    also wie kann ich das denn lösen, dass ich der funktion 2 param übergebe und die dann ausgegeben werden?
     
    Max02, 13.04.2005
  9. oglimmer

    oglimmerMacUser Mitglied

    Mitglied seit:
    16.11.2004
    Beiträge:
    1.150
    Zustimmungen:
    91
    Du willst mehr als einen Rückgabewert haben?

    Such mal nach Argumentenübergabe "By Reference"
     
    oglimmer, 13.04.2005
  10. autoexec.bat

    autoexec.batMacUser Mitglied

    Mitglied seit:
    21.01.2005
    Beiträge:
    2.113
    Zustimmungen:
    20
    Ja, da gibt es mehrere Möglichkeiten... was soll das Programm denn eigentlich machen?
     
    autoexec.bat, 13.04.2005
Die Seite wird geladen...