c++ comandlist

Wenn du einfach den Code mit C&P in den Dev C++ legst, dann meckert er, daß die beiden returns keinen Rückgabewert liefern. Ich mag noch nicht einmal Warnungen, daher habe ich daraus jeweils ein return 0; gemacht.
Und außerdem hat der Dev C++ gemeckert, daß ihm die beiden Funktionen int zugMensch(int x) und int zugRechner(int) nicht direkt bekannt seien. Ich kenne es noch so, daß die Funktionsrümpfe definiert sein müssen, bevor die Funktionen das erste Mal verwendet werden. Ich lasse mich jedoch gerne eines Besseren belehren, da meine C++-Kenntnisse ohne weiteres überholt sein können. :)
Weil ich zu faul war, eine eigene include-Datei zu basteln, habe ich einfach unter den #include <iostream.h> eingefügt

int zugMensch(int x);
int zugRechner(int x);

Danach wurde fehler- und warnungsfrei compiliert.
 
moin


Ja, natürlich mussen die Funktionen bekannt sein, bevor man sie aufruft.
Aber einfach mal die Lektion komplett lesen:
Und sie haben sicher daran gedacht, die beiden neuen Funktionen vor der main-Funktion, aber nach der include-Zeile einzufügen. Würden Sie die Funktionen nach der main-Funktion einfügen, dann wären sie aus der main-Funktion nicht aufrufbar. Der Compiler liest sich nämlich die Datei von oben nach unten durch und merkt sich unterwegs alle wichtigen Sachen. Er macht aber keine Versuche, etwas zu verwenden, das erst weiter unten steht.
Wobei deine Lösung, mit den Prototypen, eleganter ist.


mfg
umbrasaxum
 
Eine Frage hab ich noch ich hab mich bis Lektion 16 durchgearbeitet, aber langsam fängt es an mich zu nerven das er die Fenster zwar öffnet und ich erraten kann das ich das richtige geschrieben habe, aber es schliesst sich dann nach 1-2 Sekunden .... Hat das was damit zu tun das ich XP hab? Oder hab ich irgendeine Einstellung vergessen? Wenn Ja bitte sagt mir welche...
 
moin


Die Frage wurde erst 100 mal gestellt, und du h#ttest per Suchfunktion deine Antwort viel schneller bekommen, aber gerne nochmal:
Da in dem Tutorial in C++ geschrieben wird, setzt vor den return 0; ein cin.get(); ein.

Code:
    .....
    cin.get();
    return 0;
}


mfg
umbrasaxum
 
Und hier die Alternative (*g* @ Tobias):
Du schreibst und compilierst die Programme im Dev C++, machst aber parallel dazu eine Eingabeaufforderung auf. In der Eingabeaufforderung (DOS lässt grüssen :) ) wechselst du in das Verzeichnis, in das du deine Programme compilierst und rufst sie entsprechend auf. Dann kannst du dir das cin.get(); sparen.

Sinn und Unsinn des Ganzen:
Die Programme sind Konsolenprogramme. Wenn du sie ausführst, öffnet XP eine Konsole, führt das Programm aus und schliesst die Konsole wieder. Der cin.get() würde dafür sorgen, daß deine Programme noch auf einen Tastendruck warten (und XP erst danach die Konsole schliesst). Wenn du alternativ über die Eingabeaufforderung arbeitest, dann wird diese erst dann geschlossen, wenn du es explizit mittels "exit" bestimmst.
 
CSANecromancer hat gesagt.:
Allerdings muß ich sagen, daß ich die Version 4 von Dev C++ genommen habe, weil bei Version 5 dick und breit "Beta" dran stand.

da liegt wahrscheinlich das Problem. Ich habs am Anfang übrigens genauso gemacht (auch weil Version 4 kleiner war. Version 5 hat zwar Fehler aber es lässt sich recht gut damit arbeiten (ist aber nicht mit VC++ zu vergleichen). Und da kann man auch updates laden.
...

UND es liegt ne neuere Version des Compilers bei bzw. man kann per Update die neueste laden. Das ist bei V4 nicht der Fall und deswegen wird es die Fehler geben
 
@Flegmon:
Da du mich zitiert hast, nehme ich mal an, du meintest auch mich.
Nur hatte ich mit V4 keine Probleme oder gravierenden Fehler. Die kleinen Fehlerchen, die mir gemeldet wurden, lagen an mangelndem RTFM meinerseits und waren in weniger als 2 Minuten behoben. Siehe auch die Posts weiter oben.
 
Zurück