Code falsch?



  • Hallo.

    Ich habe heute mit C++ angefangen.

    Könnt ihr mir sagen, was an dem folgendem Code falsch ist? Mein Compiler ist Visual C++ 2008 Express Edition.

    #include "stdafx.h"
    #include <iostream>
    using namespace std;  
    
    int main()
    {
        string name;
        cout << "Hallo Welt" << endl;
        cin >> name;
        cout << "Dein Name ist" << name << endl;
    
        return 0;
    }
    

    Danke

    Liebe Grüße



  • Was geht denn nicht? - Beschreib deine Fehler so genau, wie möglich.

    In dem Falle nehme ich mal an, dass du kein "stdafx.h" brauchst, da du da kaum precompiled headers benutzt.. Also lass das mal raus und dann sollte das ganze funktionieren.



  • Vorrausgesetzt MS packt die std::basic_string -Klasse in <iostream> . Nee, bestimmt nicht. Ein #include <string> könnte dein Problem dann komplett lösen.

    Nächstes mal aber Fehlermeldung posten, ja?



  • Hups. Ja den string habe ich übersehen. 🙂
    Da siehst du was passiert, wenn man die Fehlermeldung nicht dazu postet. 😉

    Weil dann hättest du so etwas bekommen, dass ein ; vor name fehlt oder so. Und das default int nicht unterstützt wird.



  • So funktionierts auch nicht:

    #include <string>
    #include <iostream>
    using namespace std;  
    
    int main()
    {
        string name;
        cout << "Hallo Welt" << endl;
        cin >> name;
        cout << "Dein Name ist" << name << endl;
    
        return 0;
    }
    

    Fehlermeldung:

    1>------ Erstellen gestartet: Projekt: s, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>s.cpp
    1>c:\dokumente und einstellungen\alessandro\eigene dateien\visual studio 2008\projects\s\s\s.cpp(1) : warning C4627: "#include <string>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
    1>        "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
    1>c:\dokumente und einstellungen\alessandro\eigene dateien\visual studio 2008\projects\s\s\s.cpp(2) : warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
    1>        "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
    1>c:\dokumente und einstellungen\alessandro\eigene dateien\visual studio 2008\projects\s\s\s.cpp(14) : fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen?
    1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Alessandro\Eigene Dateien\Visual Studio 2008\Projects\s\s\Debug\BuildLog.htm" gespeichert.
    1>s - 1 Fehler, 2 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    


  • 2. Post



  • #include <string>
    using namespace std;  
    
    int main()
    {
        string name;
        cout << "Hallo Welt" << endl;
        cin >> name;
        cout << "Dein Name ist" << name << endl;
    
        return 0;
    }
    

    Soo funktionierts aber auch nicht?!



  • Kein wunder weil du iostream das du brauchst rausgekickt hats.



  • Könnte mir dann vielleicht jemand mal den richtigen Code posten?



  • So ist's richtig:

    #include "stdafx.h" 
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main()
    {
        string name;
        cout << "Hallo Welt" << endl;
        cin >> name;
        cout << "Dein Name ist" << name << endl;
    
        return 0;
    }
    

    In den Projektoptionen sind die vorkompilierten Header anscheinend aktiviert (ist ja Standard beim Neuerstellen eines Projekts im Visual Studio), s.a. entsprechende Fehlermeldung...


Log in to reply