String in Klasse



  • Habe foglendes Problem,
    ich versuche in einer Klasse einen string zu deklarieren.

    #include <string>
    class Spieler{
        public:
              string name_spieler;
    
              Spieler(); 
              string get_name(); //Gibt den Namen zurück
    
    };
    

    Folgender Fehler:

    'string' is used as a type, but is not defined as a  type.
    

    Habe aus dem string schone einen Ansistring gemacht,
    habe das selbe Problem bekommen.
    Ich habe auch aus dem string einfach

    char spieler_Name[]="";
    

    gemacht...funktioniert.
    Allerdings benötige ich eine Array das mehrer Namen aufnimmt und das
    habe ich mit einem char nich hinbekommen.

    Joeshrooms



  • Hallo,

    die Klasse string ist ein Teil der C++ Standardbibliothek und liegt im Namensraum std. D.h. du stellst entweder jedem string ein std:: voran, also

    std::string s;
    

    ,

    oder schreibst ein mal

    using namespace std;
    

    unter die includes (Aber bitte nicht in Header-Files, sondern nur in cpp Dateien). Dann geht's.

    MfG

    GPC



  • Hi,
    wenn ich

    using namespace std;
    

    in die .cpp datei der Klasse lege funktioniert es auch nicht.
    Es erscheint der gleiche Fehler, aber wenn ich es in die
    Header Datei schreibe gehts!!

    Danke schonma

    joeshrooms



  • Nein, kein using namespace in Headern wenn du nicht weißt, was du tust. Das handelt dir mehr Ärger ein als du glaubst. In Headern benutzt du bitte konsequent das Namespace-Präfix std::



  • Cool geht,
    danke.



  • Hi,
    Wie deklariere ich ein Objekt meiner ersten Klasse,
    so das ich mit diesem Objekt auf Methoden der ersten Klasse
    innerhalb von Methoden der zweiten oder auch dritten Klasse zugreifen kann??



  • edit: seh grad, du hast n neuen Thread aufgemacht...


Anmelden zum Antworten