Fehler E2141 und namespace std...



  • Hi,

    krieg die Meldung "Error E2141 stringFunctions.cpp 13: Declaration syntax error"
    (Borland C++ 5.5.1 for Win32)

    die Betreffende Zeile lautet:

    deque<string> * split(const string & text, string delim)
    

    eingebunden hab ich

    #include <fstream>
    using std::ifstream;
    using std::cerr;
    using std::endl;
    
    #include <string>
    using std::string;
    
    #include <deque>
    using std::deque<string>;
    

    wenn ich aber einfach "using namespace std" verwende,
    dann geht alles wunderbestestens.
    Ich komm bloss ned dahinter, was ich noch vergessen hab 😞

    danke
    Martin



  • sorry,

    hab die falschen Code-Tags erwischt,
    könnte des vielleicht jemand ändern.. 🙄



  • using namespace std::foobar;



  • hm,

    tjo, den ";" hab ich grad bloss beim posten vergessen gehabt.
    War aber auch blöd erklärt von mir.

    Also:
    ich kann ja entweder alles einzeln einbinden mit
    z. B.
    using std::cout; (siehe obige Auflistung)
    da hab ich aber scheinbar noch irgendwas vergessen, weil sich mein Code nicht kompilieren lässt.

    Wenn ich aber die ganzen Einzel-Anweisungen durch "using namespace std;" ersetzte,
    kompiliert er mir alles schön durch.

    Ich komm bloss leider ned dahinter, was ich bei den Einzel-Anweisungen noch vergessen hab,
    dass es auch geht.

    mfg
    Martin

    PS:
    trotzdem danke



  • okay für nochmal etwas genauer:

    using namespace std::foobar;

    beachte das "namespace" in dem obrigen string.



  • tut mir echt sorry,
    aber ich steh im mom. total auf'm Schlauch...

    du meinst praktisch sowas wie:

    #include <string>
    using namespace std::string;
    

    ?
    Spukt mir aber dann viele Fehler aus:

    Error E2316 stringFunctions.cpp 7: 'string' is not a member of 'std'
    Error E2282 stringFunctions.cpp 7: Namespace name expected

    hab ja auch nachgeschaut, und laut meinem Buch müsste es nur
    "using std::string" heissen.

    Aber was soll's,
    hab mich etz anders aus der Affäre gezogen:
    Ich mach überhaupt kein "using" mehr, sondern schreib überall ein std:: davor.
    Dann läufts auch 🙂

    thx
    Martin



  • Dezente neben Frage:
    Was hast du gegen:

    using namespace std;
    

    😕



  • @Whuuahhh:

    Ein

    using std::deque;

    sollte Dein Problem beheben.

    MfG Jester


Anmelden zum Antworten