Fehler im c++ source code

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

  1. Max02

    Max02 Thread Starter MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser 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 MacUser Mitglied

    Beiträge:
    46.822
    Zustimmungen:
    3.633
    MacUser 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 MacUser Mitglied

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

    Max02 Thread Starter MacUser Mitglied

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

    in main vor "cout"
     
  5. TheFallenAngel

    TheFallenAngel MacUser Mitglied

    Beiträge:
    501
    Zustimmungen:
    7
    MacUser 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 MacUser Mitglied

    Beiträge:
    46.822
    Zustimmungen:
    3.633
    MacUser 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
     
    Zuletzt bearbeitet: 13.04.2005
  7. autoexec.bat

    autoexec.bat MacUser Mitglied

    Beiträge:
    2.130
    Zustimmungen:
    20
    MacUser 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 MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser 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 MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    79
    MacUser seit:
    16.11.2004
    Du willst mehr als einen Rückgabewert haben?

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

    autoexec.bat MacUser Mitglied

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