Problem Volkards tut
-
Hallo!
Ich wollte gerade mit dem Tut von Volkard anfangen, und als ich
#include <iostream.h> void main() { // Dies ist das Hello-World-Programm cout<<"Hello, world!"<<endl; };compilen wollte, kam unten ein Fehler:
32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
und
3 C:\Dokumente und Einstellungen\Stefan\Desktop\Untitled1.cpp `main' must return `int'
ich weiss das man das sicher irgendwie umschreiben kann, allerdings möchte ich noch andere lösungsvorschläge hören da ich
1.)gehört habe das Volkards Tut sehr gut sein soll, der fehler also an mir liegt
2.)Volkard im ganzen tutorial mit dieser Art Coding arbeitet, und es überall den gleichen fehler gibt.beste Grüße
ziox.
-
Hallo,
das ist ein Fehler in Volkards Tutorial, auf den auf der Übersichtsseite seines Tutorials aber auch hingewiesen wird. Der Header heißt 'iostream' statt 'iostream.h'. 'main' muss ein 'int' zurückgeben. Und zu guter Letzt muss der Namensbereich 'std' eingebunden werden, in dem sich die IO-Funktionalität befindet:
#include <iostream> using namespace std; int main() { cout << "Hello, world!" << endl; }
-
LOL! Volkards Tut ist veraltet und nicht mit dem ISO-C++ Standard kompatibel. Deshalb geht es nicht. Das Tut ist ganz einfach fehlerhaft.
Nimm lieber das:
http://tutorial.schornboeck.net/inhalt.htm
-
LOL! Volkards Tut ist veraltet und nicht mit dem ISO-C++ Standard kompatibel. Deshalb geht es nicht. Das Tut ist ganz einfach fehlerhaft.
Jop, leider ... Ansich wär es ein gutes Tutorial. Ergänzend möchte ich auch noch einen guten Link posten:
Dort wird es etwas ausführlicher erklärt!
MfG mikey.
-
Er hat ja auch angefangen es umzuschreiben, aber ist wohl sehr beschäftigt der Mann.
-
Ich will ja nicht weiter meckern oder so, aber was habt ihr gegen ein return? Das scheint gerade in Mode zu kommen, dass einfach wegzulassen -> kann ja der Compiler machen

Mfg Ominion
-
Ominion schrieb:
Ich will ja nicht weiter meckern oder so, aber was habt ihr gegen ein return? Das scheint gerade in Mode zu kommen, dass einfach wegzulassen -> kann ja der Compiler machen

Ja eben, was spricht denn auch dagegen?
Oder anders gefragt: Was hast Du gegen das Weglassen von 'return'?
-
Außer, dass das für Anfänger ziemlich verwirrend ist, mal mit mal ohne und das main () für mich nicht main () wäre, ohne ein return: nichts.
Mfg Ominion
-
Ominion schrieb:
Das scheint gerade in Mode zu kommen, dass einfach wegzulassen -> kann ja der Compiler machen

Laut Standard muss das der Compiler machen. Warum sollte ich es dann explizit hinschreiben, ist doch nur Schreibarbeit.
-
Ich habe ja meine Begründung schon gesagt, war ja auch nicht böse oder so gemeint...ich wollte nur mal wissen, warum das beliebter wird, damit ich keinen Trend verpasse. Aber die Begründung, dass das Schreibarbeti ist, ist wohl rehct schwach, weil die 9 Zeichen sind jetzt nicht die Welt...
Mfg Ominion
-
Ominion schrieb:
Aber die Begründung, dass das Schreibarbeti ist, ist wohl rehct schwach, weil die 9 Zeichen sind jetzt nicht die Welt...
Jedes einzelne geschriebene Zeichen ist ein potentieller Fehler im Programm. Da Debuggen aufwendig und teuer ist, ist es ziemlich wichtig, die Schreibarbeit so gut wie möglich zu minimieren. Klar, 9 Zeichen sind nicht viel aber sie sind im Kontext der 'main' nunmal absolut überflüssig.
-
tut mir leid, aber das ist echt lustig! Wenn es um was anderes gehen würde, als ein return 0; --> was immer gleich bleibt --> dann würde ich dir zustimmen...Mfg Ominion
-
Wieso denn null zurückgebeben?
#include "Apllication.h" nt main(int argc, char *argv[]) { Application app; return app.exec(); }Mehr muss in die main doch nicht rein?
-
Ominion schrieb:
tut mir leid, aber das ist echt lustig! Wenn es um was anderes gehen würde, als ein return 0; --> was immer gleich bleibt --> dann würde ich dir zustimmen...Zugegeben, die Optimierung ist fragwürdig. Also, ich verstehe auch nicht, wieso man im Standard vereinbart hat, dass 'return' in 'main' optional ist. Aber nun, da diese Vereinbarung nunmal existiert, kann man sie auch benutzen und da erübrigt sich IMHO jede Diskussion.
-
Wie gesagt, sollte keine Diskussion, sondern nur ne Nachfrage werden...hat sich jetzt ja erledigt.
Mfg Ominion
-
Artchi schrieb:
LOL! Volkards Tut ist veraltet und nicht mit dem ISO-C++ Standard kompatibel. Deshalb geht es nicht. Das Tut ist ganz einfach fehlerhaft.
Nimm lieber das:
http://tutorial.schornboeck.net/inhalt.htmNunja, das kann man so nicht stehen lassen. Bis auf einige Kleinigkeiten ist das Tutorial super. Die Aufgaben sind sehr wertvoll und auch inhaltlich wird unheimlich viel gemacht. Wenn man die handvoll nötige Änderungen an den Beispielen beachtet, dann kann man auch heute noch sehr sehr viel aus diesem Tutorial mitnehmen. Es ist ganz einfach super!