
n. 1.8e9-wo-ist-meine-Aktie m.
Ich habe angefangen, C++ für meinen Programmierkurs zu lernen. Ich habe dieses “Hello World”-Programm heruntergeladen:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!";
return 0;
}
aber Turbo C++ beschwert sich:
Error D:\HELLO.CPP 1: Unable to open include file 'IOSTREAM'
Error D:\HELLO.CPP 2: Declaration syntax error
Error D:\HELLO.CPP 6: Undefined symbol 'cout'
Was ist falsch an diesem sehr einfachen Programm? Wie kann ich diese Fehler korrigieren?

n. 1.8e9-wo-ist-meine-Aktie m.
Es gibt kein Problem mit diesem Programm. (Außer wahrscheinlich einigen stilistischen Problemen –
using namespace std
ist nicht zu empfehlen). Das Problem liegt bei Turbo C++. Es ist eine sehr alte Software. Es implementiert einen Dialekt von C++, sog Prä-ANSI C++, die Anfang dieses Jahrtausends völlig außer Gebrauch gekommen ist. Der erste ANSI-Standard für C++ wurde 1998 veröffentlicht, dann gab es die Version 2003, die Version 2011, die Version 2014, die Version 2017, und jetzt erwarten wir, dass die Version 2020 offiziell veröffentlicht wird. Jede dieser Standardrevisionen brachte mehr oder weniger bedeutende Änderungen an der Sprache mit sich.
Für Turbo C++ müssen Sie das Programm wie folgt ändern:
#include <iostream.h> // note the .h suffix
// using namespace std; // Turbo C++ doesn't implement namespaces
int main()
{
cout << "Hello, World!";
return 0;
}
Wenn Sie sich dieses Programm ansehen, mag der Unterschied zwischen dem modernen C++-Dialekt und dem von Turbo C++ akzeptierten gering erscheinen. Es wird jedoch viel größer, wenn Ihre Programme komplexer werden.
Während Sie das Programmieren mit Turbo C++ lernen können, würde ich dringend empfehlen, dies aufgrund der folgenden Probleme zu vermeiden, wenn dies menschlich möglich ist:
- Sie werden eine Sprache lernen, die einer in der Industrie verwendeten Sprache in gewisser Weise ähnelt, sich aber dennoch ohne triftigen Grund stark unterscheidet. Wenn Sie vorhaben, C++ für echte Softwareentwicklung zu schreiben, müssen Sie viel umlernen. Es ist viel einfacher, modernes C++ sofort zu lernen.
- Es gibt keine vorhandene Literatur über Turbo C++. Nahezu 100 % des C++-Materials, das Sie im Internet oder in den Büchern finden, ist nicht direkt auf Turbo C++ anwendbar. Einige benötigen nur eine geringfügige Anpassung, während andere Materialien völlig unbrauchbar sind. So ziemlich die einzige Hilfequelle, die Ihnen sofort zur Verfügung steht, ist die integrierte Turbo C++-Hilfe.
- Nur wenige Leute erinnern sich an Turbo C++. Wenn Sie Fragen in Foren stellen, geben Sie immer an, dass Sie einen Prä-ANSI-Dialekt verwenden, um Antworten herauszufiltern, die auf die moderne Version der Sprache ausgerichtet sind. Sie werden wahrscheinlich bei jeder Frage, die Sie stellen, eine Reihe von Kommentaren erhalten, in denen Sie aufgefordert werden, sofort aufzuhören und zu einem modernen Compiler zu wechseln.
Es gibt viele moderne kostenlose (wie in Biersowie im Rede) Compiler und IDEs, die Sie anstelle von Turbo C++ verwenden können. Einige davon sind:
- Visual C++ Community Edition ist eine IDE und ein Compiler von Microsoft
- Code::Blöcke ist eine leichtgewichtige IDE. Unter Windows wird es mit einem etwas veralteten Compiler ausgeliefert, aber Sie können selbst einen moderneren Compiler installieren
- Eclipse-CDT ist eine leistungsstarke plattformübergreifende IDE. Es wird nicht mit einem eigenen Compiler ausgeliefert, daher müssen Sie einen separaten Compiler installieren. Verwenden Sie unter Windows zB MinGW.
- Viel mehr
- Darüber hinaus gibt es viele Online-Compiler wie z http://ideone.com, https://www.onlinegdb.com/ und http://coliru.stacked-crooked.com/Plus viel mehr (Diese sind meistens gut zum Ausprobieren von Ideen und zum Schreiben sehr kleiner Programme).
- Beide Clang/LLVM und GCC sind gratis Software Compiler, die neuere Versionen von C++ unterstützen.
Bedauerlicherweise scheinen einige Schulen/Lehrer die Schüler sogar heute noch dazu zu zwingen, Turbo C++ zu verwenden. Leider kann diese Community das nicht beheben. Wenn Sie sich in dieser Situation befinden, bereiten Sie sich darauf vor, nicht viel Hilfe von außen zu erhalten.

Lundin
“Turbo C++” kann zahlreiche Compiler bedeuten. Bei dieser Frage ist es wichtig, die Versionsnummer anzugeben.
-
Borland Turbo C++ bis Version 3.1 waren reine MS-DOS-Compiler in der klassischen Blue-Background-IDE. Diese wurden ungefähr zwischen 1989 und 1992 veröffentlicht, lange bevor C++ standardisiert wurde, was im Jahr 1998 geschah. Sie verwendeten also einen Vorstandard-Dialekt von C++.
Vor allem nutzten sie die #include <iostream.h>
Syntax statt Standard #include <iostream>
deckte aber auch viele C++-Funktionen wie Namespaces, Templates usw. nicht ab. Die Template-Bibliothek STL war noch nicht Teil des Standards, daher war alles, was mit dieser Bibliothek zu tun hatte, ziemlich anders als das, was später zum Standard wurde.
-
Später in den 90er Jahren veröffentlichte Borland mehrere DOS/Windows-Compiler mit besserer Konformität. Irgendwo bis Version 5 hatten sie noch mit der vollständigen Konformität zu C++98 zu kämpfen, obwohl diese Windows-Versionen ziemlich nah dran waren.
-
Ende der 90er ließen sie den Namen „Turbo C++“ zugunsten von Borland C++ Builder fallen, das nicht nur eine IDE, sondern ein vollständiges RAD-Tool auf Delphi-Basis war. Diese Compiler waren vollständig kompatibel mit C++98 und später C++03.
-
Um 2005 entfernte Borland Compiler als Teil seiner Produktlinie. Aus den Compilern wurde „Codegear“, aus dem später Embarcadero wurde. Irgendwann zu dieser Zeit veröffentlichten sie eine kostenlose Version von Borland Builder, die sie “Turbo C++” nannten. Diese Version war vollständig konform zu C++03.
-
Heutzutage heißen diese Compiler Embarcadero C++ Builder. Ich glaube, sie unterstützen derzeit bis zu C++11 mit etwas C++14. Mehr Infos hier.
Als Student sollte man natürlich nur mit modernen Compilern arbeiten. MS-DOS-Compiler von 1991 beim C++-Lernen im Jahr 2018 zu verwenden, ist einfach Wahnsinn. Es ist nicht nur kontraproduktiv, sondern auch direkt schädlich und macht Sie zu einem schlechten C++-Programmierer. Wenn Ihre Schule Sie dazu zwingt, Turbo C++ 3.1 oder älter zu verwenden, dann ist Ihre Schule schlecht und Ihre Lehrer sind äußerst inkompetent. Bitte verlinken Sie diesen Beitrag mit ihnen und ihrem Schulleiter.

Yougansh Thakur
Turbo C++ ist ein sehr alter Compiler und unterscheidet sich ein wenig vom GNU C++ Compiler. Der von Ihnen freigegebene Code funktioniert perfekt mit dem GNU-Compiler, aber um ihn mit Turbo C++ auszuführen, müssen Sie einige Änderungen vornehmen:
1. Ändern Sie den Namen der Header-Datei von iostream
zu iostream.h
2. Und entfernen Sie die Zeile „using namespace std“. Sie ist in Turbo C++ nicht erforderlich. Hier ist der geänderte Code:
#include <iostream.h>
int main()
{
cout << "Hello, World!";
return 0;
}
9908800cookie-checkWarum lässt sich ein einfaches Programm im „Hello World“-Stil nicht mit Turbo C++ kompilieren?yes
Dies soll eine standardmäßige Dupe-Umleitung für Fragen zu Turbo C++-Problemen sein. Viele dieser Fragen werden in der Regel schnell mit nur einer kurzen Erklärung in Kommentaren erledigt, während sie eine richtige Antwort wirklich gebrauchen können. Verbesserungen willkommen.
– n. 1.8e9-wo-ist-meine-Aktie m.
1. Juli 2017 um 16:25 Uhr
schlagen Sie vor, zu erwähnen, welche Version von Turbo C++ Sie verwenden. Die Version 2006 kam mit diesem Programm zurecht.
– MM
1. Juli 2017 um 23:04 Uhr
“Ich habe angefangen, C++ für meinen Programmierkurs zu lernen.”. Das ist eine Lüge. Zeitraum.
– Bugwheels94
8. Juli 2017 um 0:09 Uhr
@bugwheels94 Sieh dir das an.
– n. 1.8e9-wo-ist-meine-Aktie m.
8. Juli 2017 um 9:59 Uhr
@nm Ich weiß nicht, ob Bugwheels das gemeint haben, aber ich habe sie so verstanden, dass sie das bedeuten, wenn man es unterrichtet TurboC++ (insbesondere altes TurboC++, das dies nicht kompilieren kann), dann lernen sie nicht C++ (was viele Leute, mich eingeschlossen, implizit annehmen Standard C++).
– Erorika
1. August 2017 um 11:47 Uhr