Problem mit <string>
-
Hi Community,
Ja ich schon wieder tut mir leid ...Ich hab ein Problem und zwar mit dem Objekt "string". Ich bin grad dabei eine Menu Klasse zu schreibn wo man dynamisch Menüpunkte aufstellen kann usw.
Ich habe 2 Konstruktormethoden, den Standart-Konstruktor und den "Überladenen"-Konstruktor...
Beim überladenen Konstruktor wird ein **const char *** übergeben und diesen wollte ich in der Klasse im Heap (speichern)<- oder ablegen?, das Problem ist ich hab <string> eingebunden und erstellte ein String-Objekt : string a;
dann bekomme ich aber leider folgende Compiler-Fehlerausgabe :1>------ Erstellen gestartet: Projekt: adressbuch, Konfiguration: Debug Win32 ------ 1>Kompilieren... 1>adressbuch.cpp 1>e:\vc c-c++ projects\meine_projekte\adressbuch\adressbuch\adressbuch.cpp(17) : error C2065: 'string' : undeclared identifier 1>e:\vc c-c++ projects\meine_projekte\adressbuch\adressbuch\adressbuch.cpp(17) : error C2146: syntax error : missing ';' before identifier 'b' 1>e:\vc c-c++ projects\meine_projekte\adressbuch\adressbuch\adressbuch.cpp(17) : error C3861: 'b': identifier not found 1>CMenu.cpp 1>Generating Code... 1>Das Buildprotokoll wurde unter "file://e:\VC C-C++ Projects\meine_projekte\adressbuch\adressbuch\Debug\BuildLog.htm" gespeichert. 1>adressbuch - 3 Fehler, 0 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Weiß allerdings nicht warum, hab schon hier im Forum nachgeguckt im Magazin und hier : http://www.cppreference.com/cppstring/string_constructors.html
Aber es geht nich da der Compiler string ja offensichtlich nicht kennt
hab den Code allerdings jetzt leider so geschrieben und er funktioniert auch...ist aber ziemlich umständlich

// ------------------------------------------------------------ CMenu::CMenu() : itsCount(0) { std::cout << "Konstruktor..." << std::endl; } CMenu::CMenu(const char *title) : itsCount(0) , size(0){ buffer = new char[100]; while(*title != 0) { buffer[size] = *title; ++title; ++size; if(*title == 0) buffer[size] = 0; } while(*buffer != 0) { std::cout << *buffer; ++buffer; } } // ------------------------------------------------------------Vllt weiß jem. von euch warum es einfach nicht funktioniert mit string?
schönen Nachmittag noch

lg c4f
-
hast du auch
std::stringgeschrieben oder nur
stringdas könnte nämlich ein problem sein.
-
Hi,
Ich schrieb nur string...Hab's jetzt mir std::string versucht und funktionierte, dachte imemr ich müsse std nicht verwenden da ich das auch bei keinen Beispielen die ich so fand gelesen hatte vllt , weil die using namespace std; benutzen

Naja jetzt hab ich weider was dazu gelernt

dank dir

lg c4f