!Problem als Anfänger: Undefined symbol 'cout' - Vermutl. Problem mit iostream!
-
Hallo!
Habe ein Problem:
Ich habe mir als Einsteiger neulich ein Buch für das erlernen von C++ gekauft.
Habe den Borland Compiler ausprobiert, aber wenn ich den "Hallo Welt!"-Code// Listing 1.1 #include <iostream> using namespace std; int main() { char name[80]; cout << "Wie heissen Sie?" << endl; cin << name; cout << "Guten Tag" << name << endl; cin.get(); return 0; }
eingebe, kommen immer nur Fehlermeldungen wie:
Error 2040 1: Declaration terminated incorrectly
Error E2451 10: Undefined symbol 'cout' in function main()
Error E2451 10: Undefined symbol 'endl' in function main()
Error E2451 11: Undefined symbol 'cin' in function main()und andere.
Mir wurde gesagt, er findet die iostream nicht. Ich solle sie einbinden?
Und wie? Oder liegt es gar nicht a´n der iostream sondern an dem Compiler (übrigens: Ich hab schon Dev C++ heruntergeladen und ausprobiert, ist besser, da graf. Oberfläche (ich glaube so was nennt man IDE), aber da kommen auch solche Fehler mit einer undefinierten Funktion Main, den cout-Befehlen und so weiter...)
KÖNNT IHR MIR HELFEN????
Sonst muss ich das Buch wohl wegwerfen
DANKE AN ALLE!!!
Bye,
MarcelBITTE BEIM CODE ETWAIGE SCHREIBFEHLER ÜBERSEHEN, HAB ICH SCHON ALLES AUSPROBIERT, HAUT TROTZDEM NICHT HIN!!!!
-
-
marcelswietza schrieb:
// Listing 1.1 #include <iostream> using namespace std; int main() { char name[80]; cout << "Wie heissen Sie?" << endl; cin >> name; // nicht cin << name; cout << "Guten Tag" << name << endl; cin.get(); return 0; }
So müßte es eigentlich funktionieren (wenn du >> beim cin verwendest).
Error 2040 1: Declaration terminated incorrectly
Error E2451 10: Undefined symbol 'cout' in function main()
Error E2451 10: Undefined symbol 'endl' in function main()
Error E2451 11: Undefined symbol 'cin' in function main()Ich vermute, du hast dich in der
#include <iostream> - Zeile vertippt (Raute vergessen?), deswegen kann der Compiler die Datei nicht finden (Error in Zeile 1) und die Symbole cout, cin und endl sind nicht definiert.Moritz
// Edit: Quote-Fehler beseitigt
-
Erstens: Es heißt cin >> variable;
Desweiteren ist dein Compiler eventuell falsch konfiguriert. Verwendest du den Borland C++ 5.0.x ?, dann:
Kopiert aus einem anderen Post
Hier ein paar Tipps, zum einrichten des Borland-Compilers 5.5, in eigenen Worten (und auf Deutsch :-))
Ich gehe nun davon aus, dass du Windows XP als OS verwendest und den Compiler ins Verzeichnis
Code:
C:\Programme\Borland\
installiert hast (Wenn nicht, musst du die Pfade anpassen).Gehe ins Verzeichnis
Code:
C:\Programme\Borland\BCC55\BinErstelle dort eine Datei bcc32.cfg, welche folgenden Text enthalten soll:
Code:
-I"C:\Programme\Borland\BCC55\include"
-L"C:\Programme\Borland\BCC55\lib"Erstelle nun noch eine Datei Namens ilink32.cfg, welche folgenden Text enthalten soll:
Code:
-L"C:\Programme\Borland\Bcc55\lib"Der bequemlichkeit wegen, erweiterst du nun noch die Systemvariable Path um folgenden Eintrag:
Code:
C:\Programme\Borland\BCC55\BinNeustarten und der Compiler ist eingerichtet.
Um jetzt beispielsweise die Datei hallowelt.cpp, die sich im Verzeichnis
Code:
C:\Programme\Borland\BCC55\befindet, zu compilieren, gehst du via start/ausführen/cmd in die Konsole.
Nun wechselst du mithilfe des cd Komandos in das Verzeichnis mit der Datei hallowelt.cpp (Im Beispiel: cd C:\programme\borland\bcc55\exe\)
Wenn du in dieses Verzeichnis gelangt bist, compilierst du mit dem Befehl
Code:
bcc32 hallowelt.cppdie Datei hallowelt.cpp. Diese befindet sich nun in dem gleichnamigen Verzeichnis.
Caipi
//Edit: ... Das Kopieren von Texten aus [code]-Boxen ist garnicht so einfach
Caipi
-
Würde sagen dass der fehler in der zeile eins ist. Leider kann ich nicht sagen was bei dir die zeile eins ist.
wenn es #include <iostream>
ist dann kennt ein compiler wahrscheinlich die neuen header noch nicht.
Bei mir funkts auf jeden fall
Kurt
edit: natürlich muss es heissen
cin >> name;
habe beim ausprobieren irrtümlich den code von audacia kopiert.
-
Und wie definiert man cout, cin und so?
Danke
-
die sind normalerweise in der iostream.h definiert
-
tuxman schrieb:
die sind normalerweise in der iostream.h definiert
kann es sein dass der Compiler die iostream aus irgendeinem Grund nicht einbinden kann?!
PS: IN DEN FOREN IST JA ECHT DIE HÖLLE HEISS. DACHTE, DASS ES NICHT SO OFT BESUCHT WIRD, DAHER DIE DOPPELPOSTS!!!!! SORRY!!!!!
-
kann es sein dass der Compiler die iostream aus irgendeinem Grund nicht einbinden kann?!
Probier's doch mal so (zwar nicht standardkonform, aber für ältere Compiler passend):
#include <iostream.h> int main (void) { cout << "Wie heissen Sie?" << endl; cin >> name; // nicht cin << name; cout << "Guten Tag " << name << endl; cin.get(); return (0); }
Moritz
-
marcelswietza schrieb:
kann es sein dass der Compiler die iostream aus irgendeinem Grund nicht einbinden kann?!
Hast du meinen Post gelesen? Ansonsten wären genauere Infos zu deinem Compiler sicher nicht schlecht.
Caipi
-
Caipi schrieb:
marcelswietza schrieb:
kann es sein dass der Compiler die iostream aus irgendeinem Grund nicht einbinden kann?!
Hast du meinen Post gelesen? Ansonsten wären genauere Infos zu deinem Compiler sicher nicht schlecht.
Caipi
Das ist der C++ Compiler von Borland (5.5)
Ausserdem hab ich mir Dev C++ heruntergeladen (5, beta)
-
Kann leider erst morgen wieder online gehen!!
Noch schönen Abend***** Windows is great - I use it to download Linux******* ;-))
-
der bcb 5.5 is en bissl alt...
und für den dev c++ brauchst du immer noch den mingw(und natürlich musste ihn dann noch konfigurieren)
-
Den Dev-C++ gibts in 2 Versionen, einmal mit MinGW und einmal ohne. Wenn er ihn mit runterläd, dann ist Dev-C++ schon vorkonfiguriert.