2012-04-05 18 views
0

ich eine Datei untitled1.cpp in dev-cpp mit folgendem Skript aufgerufen erstellt haben:C++ einfache Programmfehler

#include <iostream.h> 
using namespace std; 
int main(){ 
    cout << "C++"; 
    return 0; 
} 

Aber der Compiler zeigt Fehler wie:

1 F: \ Dev-Cpp \ include \ C++ \ 3.4.2 \ rückwärts \ iostream.h: 31,
von F: \ Dev-Cpp \ Untitled1.cpp In der Datei enthalten von include/C++/3.4.2/rückwärts/iostream.h: 31 , von F: \ Dev-Cpp \ Ohne Titel1.cpp 32: 2 F: \ Dev-Cpp \ include \ C++ \ 3.4.2 \ backward \ backward_warning.h # warning Diese Datei enthält mindestens einen veralteten oder antiquierten Header. Bitte beachten Sie, dass Sie einen der 32 Header verwenden, die Sie in Abschnitt 17.4.1.2 des C++ - Standards finden. Beispiele umfassen das Ersetzen des Headers für den Header für C++ - Includes oder anstelle des veralteten Headers . Verwenden Sie -Wno-deprecated, um diese Warnung zu deaktivieren.

Was ist der Fehler, den ich habe? Wie repariere ich es?

+1

möglich Duplikat [Wo bekommt man iostream.h] (http://stackoverflow.com/questions/3698267/where-to-get-iostream-h) – Anonymous

+0

Die Verwendung Warnung sind. Trotzdem wird es eingehalten. –

+0

Ich finde es immer lustig, wenn "einfache Fehler" dargestellt werden. Wenn sie "einfach" für dich sind, warum kannst du es nicht selbst reparieren? –

Antwort

6

In C++ importieren Sie die Standardbibliothek ohne das Suffix .h.

#include <iostream> 

So Ihr Fest Beispiel:

#include <iostream> 

int main(int argc, char **argv) { 
    std::cout << "C++"; 
    return 0; 
} 
+0

@Gokul Ktp: Sie verwenden Windows nehme ich an? Verwenden Sie ein Terminal wie cmd.exe, um Ihr Programm auszuführen. – orlp

+0

aber das Fenster meines Programms erschien und verschwand in einer zweiten – gokul

+0

Ja, so schnell läuft Ihr Programm! –

1

Ihr Code ist nicht Standard C++. Sie sollten sagen: #include <iostream> (kein ".h"!). Die Quelle, von der Sie das gelernt haben, ist ungefähr 25 Jahre alt, und Sie sollten überlegen, etwas moderneres Material zu bekommen.

(Der Header "iostreams.h" war Anfang der neunziger Jahre Teil einer sehr frühen Nicht-Standard-Bibliothek und wird daher aus Gründen der "Kompatibilität" aufbewahrt, um sehr inaktive Programmierer zu fangen und ihnen eine hilfreiche Hilfestellung zu geben Hinweis.)

+0

Inerte Programmierer? –

+0

@MrLister: Ja. C-Programmierer des Stils "Ich habe das C-mit-Klassen-Ding geschrieben, als du noch in deinen Windeln warst, und ich werde es jetzt nicht anders schreiben." –

+0

Ah, OK. Ich dachte, du könntest "unfähig" sagen, Entschuldigung. –

0

Es heißt, dass der Header, in diesem Fall iostream.h veraltet oder veraltet ist. (Sie haben nur eine Kopfzeile, also das ist die! Lesen Sie einfach die Fehlermeldung!)

Sie müssen also iostream, nicht iostream.h verwenden.

1

Verwenden Header-Datei als #include<iostream> statt #include<iostream.h>

0

Dies ist nur eine Warnung.

Ich denke, dass Sie versuchen könnten, iostream anstelle von iostream.h einzuschließen, um es zu beheben.

1

Fügen iostream statt iostream.h

0

Sie den Grund in Ihrer Frage bereits gebucht haben!

Diese Datei enthält mindestens einen veralteten oder antiquierten Header.

Die eigentliche Frage sollte daher lauten: "Welche ist antiquiert, wie ersetze ich sie?", Nicht "Was ist der Fehler". Antwort: Verwenden Sie <iostream>.Die <*.h>-Versionen sind vorkonfektionierte Legacy-Header.

So: Lesen Sie Fehlermeldungen, die Menschen.