Fehlermeldung bei Dev-C++



  • Hallo zusammen,

    ich versuche gerade c++ mit Hilfe diverser Tutorials aus dem Netz zu lernen.
    Ich besitze noch den Borland 2.0 Compiler, da dierser ja nicht mehr der aktuellste ist, habe ich mir den Dev-C++ von Bloodshed heruntergeladen.

    Nun habe ich ein Problem wenn ich folgendes Programm versuche zu compilieren:

    #include <iostream.h>
    #include <stdio.h>

    void main()
    {
    cout<<"Hier steht ein Text"<<endl;
    getchar ();/* wait for input */
    };

    Mit dem alten Borland 2.0 klappt das ohne Probleme, der Dev-C++ liefert mir immer folgende Fehler bzw. Warnungen:

    1 D:\Programme\Dev-Cpp\include\c++\3.3.1\backward\iostream.h:31, from Text_Dev.cpp In file included from D:/Programme/Dev-Cpp/include/c++/3.3.1/backward/iostream.h:31, from Text_Dev.cpp

    2 D:\Programme\Dev-Cpp\include\c++\3.3.1\backward\backward_warning.h:32 #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.

    5 C:\Dokumente und Einstellungen\AK\Eigene Dateien\C-Source\TestProgramme\Text_Dev.cpp `main' must return `int'

    Wenn ich das Programm wie folgt schreibe habe ich keine Probleme:

    #include <iostream.h>
    #include <stdio.h>

    int main()
    {
    cout<<"Hier steht ein Text"<<endl;
    getchar ();/* wait for input */
    return 0;
    };

    Was habe ich nicht verstanden (soweit man das beurteilen kann), oder wo habe ich einen Fehler gemacht.

    Vielen Dank

    Andreas



  • Das hat damit zu tun, dass dein Tutorial veraltert ist... in "neuem" und korrektem C++ muss das so gehen:

    inlcude <iostream>  // ohne ".h" !
    using namespace std; // die Zeile ist neu!
    
    int main() // INT main, nicht VOID main
    {
        cout << "Hello, World" << endl;
        return 0;
    }
    


  • Oki doki,

    vielen Dank. Was bedeutet bzw. bewirkt denn die zweite Zeile?
    Gibt es denn die Routine, die keinen Rückgabewert mehr hat nach dem Prinzip

    void main()
    {
    ...
    }
    gar nicht mehr, muss man also immer einen Null-Wert zurückgeben?

    Andreas



  • Theophrastus schrieb:

    Oki doki,

    vielen Dank. Was bedeutet bzw. bewirkt denn die zweite Zeile?

    http://tutorial.schornboeck.net/namespace.htm

    Theophrastus schrieb:

    Gibt es denn die Routine, die keinen Rückgabewert mehr hat nach dem Prinzip
    gar nicht mehr, muss man also immer einen Null-Wert zurückgeben?

    http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=main#Answ



  • Vielen Dank!


Anmelden zum Antworten