Compiler Fehler wegen iostream.h
-
hi, folgendes programm hab ich von nem c++ kurs
// Dies ist ein Kommentar
#include <iostream.h> // Hier werden zusätzliche Befehle eingebunden
void main() // Das ist das Hauptprogramm
{ // Hier fängt ein Anweisungsblock an
cout << "Hallo Welt!" << endl;
// Hier wird etwas ausgegeben
} // Hier hört der Anweisungsblock aufwenn ich das nun compile gibt das einen fehler
und zwar wird der fehler in der iostream.h bei folgender zeile angezeigt!
#include "backward_warning.h"compiler log:
Compiler: Default compiler
Führt g++.exe... aus
g++.exe "C:\Dokumente und Einstellungen\universe admin\Desktop\C++ Programme\Textausgabe.cpp" -o "C:\Dokumente und Einstellungen\universe admin\Desktop\C++ Programme\Textausgabe.exe" -I"D:\Programme\Dev-Cpp\include\c++" -I"D:\Programme\Dev-Cpp\include\c++\mingw32" -I"D:\Programme\Dev-Cpp\include\c++\backward" -I"D:\Programme\Dev-Cpp\include" -L"D:\Programme\Dev-Cpp\lib"
In file included from D:/Programme/Dev-Cpp/include/c++/backward/iostream.h:31,from C:/Dokumente und Einstellungen/universe admin/Desktop/C++ Programme/Textausgabe.cpp:3:
D:/Programme/Dev-Cpp/include/c++/backward/backward_warning.h:32:2: warning: #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 <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
C:/Dokumente und Einstellungen/universe admin/Desktop/C++ Programme/Textausgabe.cpp:6:main' must return
int'Ausführung beendet
wieso gibt es diesen fehler?
bin absoluter noob und hab mir dev c++ 4.9.8.0 runtergeladen und gehofft,
mit hilfe dieses kurses das lernen zu können!
für hilfe wär ich ausserordentlich dankbar!!
wenn jemand lust hat, mir per icq oder msn beizustehen, bitte adden!
-
es heißt
#include <iostream>
-
Das Programm hat 3 Fehler. Oder anders gesagt, es nutzt Sprachmittel die teils veraltet und teils nur von bestimmten Compilern unterstützt werden.
Das sind im einzelnen:
-
#include <iostream.h>
Besser: #include <iostream>
Die offiziellen Standardheader haben alle Namen ohne das .h Suffix. Die alten Versionen werden nur noch aus Kompatibilitätsgründen mitgeführt, deshalb bekommst du eine Warnung, aber keinen Fehler. -
void main()
Richtig: int main()
Seit Urzeiten schon muss der Rückgabetyp der main-Funktion int sein. Es gibt allerdings Compiler, die void main trotzdem zulassen. Deiner tut das nicht, also ändere das. -
Die Standardlibrary (unter anderem das Objekt cout und der Manipulator endl) befindet sich im Namensraum std. Was genau das bedeutet, wird dir später klar werden. Für den Anfang, schreibe unter die ganzen #include-Direktiven die sog. using-Direktive "using namespace std;" (ohne ""). Übrigens hat der Compiler bezüglich dieses Punktes keinen Fehler ausgegeben, weil die Definitionen in den alten Headern mit .h (siehe 1) noch nicht im std-Namensraum lagen. Wenn du 1 änderst, musst du auch an 3 denken.
-
-
dein compiler gibt keine fehlermeldung, sondern eine warnung aus:
g++ schrieb:
... _warning.h:32:2: warning: #warning This file includes at least ...
Diese Warnung bedeutet schlicht und einfach, das der <iostream.h> header veraltet (deprecated) ist, und du stattdessen <iostream> verwenden sollst.
Außerdem musst du dann std::cout (std::cin, std::endl, etc) verwenden, oder using namespace std; dazuschreiben (eine sogenannte using direktive, falls du googlen willst.)
Ich kann dir nur raten, ein anderes, moderneres Tutorial aufzusuchen, z.B. Das C++ Tutorial von Shade of Mine, denn void main ist ebenfalls nicht standardkonform (und war es auch nie).
Im Übrigen rate ich dir dazu, endl nicht zu verwenden. Schreibe stattdessen '\n'.
Alles in allem:#include <iostream> int main () { std::cout << "Hallo Welt!\n"; } //oder #include <iostream> using namespace std; int main () { cout << "Hallo Welt!\n"; }
btw: trenne dich von überflüssigen Kommentaren
-
danke, das hat funktioniert...
habe herausgefunden, dass bereits ein hallo welt beispiel und ein open gl beispiel bei dem programm dabei sind...
aber leider sind nun plötzlich die zeilenzahlen auf der linken seite verschwunden!
wie krieg ich die wieder hin?