!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,
    Marcel

    BITTE 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\Bin

    Erstelle 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\Bin

    Neustarten 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.cpp

    die 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.



  • @audacia

    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. 🙂


Anmelden zum Antworten