String? AnsiString? Bin am Ende
-
Also ich habe folgendes problem:
Ich möchte gerne eine Klasse Spieler schreiben, die Lediglich den Namen eines Spielers Speichern soll und dazugehörige Punkte. Soll also nicht viel rein.
Sobald ich versuche eine Variable vom Typ string oder AnsiString anzulegen meckert mein Builder Compiler sofort:Typname Erwartet! und verweist auf die zeile in der ich die Variable Deklariert habe.
class Spieler{ private: AnsiString name; public: AnsiString getName(); setName(AnsiString n); };
Der meckert natürlich nicht nur in der Zeile wo ich meine Variable Deklarier sondern auch in den anderen Zeilen wo ich den Typ AnsiString verwende.
So in etwa! Ich habe AnsiString schon durch String oder string ersetzt, denn im Internet findet man bei der suche die unterschiedlichsten Dinge. Habe auch schon sämtliche Includes ausprobiert.
--> String.h, string.h, string
Immer kommt der genannte fehler.
Ich habe ja schon öfter mit String gearbeitet. Aber hatte noch nie diese Probleme.
Wo könnte der Fehler liegen? Oder kann man beim builder keinen string beim deklarieren der Klasse verwenden? Kann ich mir nicht vorstellen, ist ja ein "Objekt" wie jedes andere auch!
-
Hallo
Du must darauf achten was für String-Typen du wo benutzt.
Die Header string.h und string sind für den Datentyp std::string aus dem C++ Standard (wobei nur letzteres korrekt ist).
Du benutzt aber den Datentyp AnsiString bzw. String, der aus der VCL kommt. Deshalb brauchst du den include <vcl.h>, den du in der Headerdatei vor Deklaration von Spieler setzen mußt.bis bald
akari
-
Alles klar!
Nun funktioniert es auch! Danke dir!!