STL verwenden mit dem MS Developer Studio



  • Hallo Forum,

    ich habe folgendes Problem:

    Wenn ich ein Projekt anlege "Konsolenanwendung mit MFC Unterstützung" kann ich durch einbinden der STL-Header (z.B. #include <vector>) diese im Programm auch benutzen.
    Mache ich dasgleiche in einem reinen MFC-Projekt (dialogfeldbasierend), meldet der Compiler Syntaxfehler. Wieso kann ich dort keine STL-Komponenten verwenden???

    Folgende inlcude-Dateien habe ih bisher ausprobiert, sie gehen alle nicht:
    #include <vector>
    #include <list>
    #include <string> <-- Das wundert mich auch, ich kann nur CString benutzen!!!

    Also wie gesagt, wenn ich z.B. im Quellcode dann schreibe: vector<int> vecInt;
    meckert der Compiler, dass er "vector" nicht kennt und dass ihn die <>-Zeichen stören.

    Wer kann mir helfen???

    Danke.

    Gruß,
    RungeZipperer



  • vector usw liegen alle im namensraum std! Du musst also entweder std::vector schreiben oder nach dem include ein using std::vector machen



  • Aloha,

    oder pauschal einfach hinter den includes Deiner Klasse

    using namespace std;
    

    schreiben.

    Und schon kennt er sie alle...

    Grüße

    BOA



  • das sollte man aber höchstens in cpp-Dateien machen, niemals in headern, da sonst der sinn der namespaces wieder weg is!



  • Yupp Deus,

    klingt vernünftig. 😉

    Grüße

    BOA



  • ich hatte ein ähnliches Problem.
    Dabei ist "namespace std" in der cpp definiert -. und bekomme ich folgede Compiler-Meldung:

    error C2079: 'lesekopf' verwendet undefiniertes class 'basic_ifstream<char,struct std::char_traits<char> >

    Wie das?



  • Code?


Anmelden zum Antworten