Fehler im c++ source code

Dieses Thema im Forum "Mac OS Entwickler, Programmierer" wurde erstellt von Max02, 13.04.2005.

  1. Max02

    Max02 Thread Starter Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    Mitglied seit:
    08.10.2004
    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
     
  2. oneOeight

    oneOeight Mitglied

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

    Max02 Thread Starter Mitglied

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

    Max02 Thread Starter Mitglied

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

    in main vor "cout"
     
  5. TheFallenAngel

    TheFallenAngel Mitglied

    Beiträge:
    501
    Zustimmungen:
    7
    Mitglied seit:
    27.10.2003
    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
     
  6. oneOeight

    oneOeight Mitglied

    Beiträge:
    49.630
    Zustimmungen:
    4.348
    Mitglied seit:
    23.11.2004
    ä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
     
  7. autoexec.bat

    autoexec.bat Mitglied

    Beiträge:
    2.113
    Zustimmungen:
    20
    Mitglied seit:
    21.01.2005
    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.
     
  8. Max02

    Max02 Thread Starter Mitglied

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

    oglimmer Mitglied

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

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

    autoexec.bat Mitglied

    Beiträge:
    2.113
    Zustimmungen:
    20
    Mitglied seit:
    21.01.2005
    Ja, da gibt es mehrere Möglichkeiten... was soll das Programm denn eigentlich machen?
     
Die Seite wird geladen...
  1. Wir verwenden Cookies, weil diese die Bereitstellung unserer Dienste für dich erleichtern und dich z.B. nach der Registrierung angemeldet halten.