string Member in einer Klasse führt zu Fehlern
-
Guten Abend erstmal,
als ich heute eine Übung aus einem Tutorial machen wollte, bin ich an folgenden Fehlern hängen geblieben, die innerhalb meiner Klassendeklaration entstehen.
window.h
#ifndef WINDOW #define WINDOW #include<string> typedef unsigned short SHORT; enum Stil { SSYMENU, MINBOX, MAXBOX, CLOSEBOX }; class window { private: SHORT width, height; SHORT xPos, yPos; string titel; //??? public: //... }; #endifWarum bekomme ich in der //???-Zeile folgende Fehlermeldungen?
error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'titel'
error C2501: 'string' : Fehlende Speicherklasse oder Typbezeichner
error C2501: 'titel' : Fehlende Speicherklasse oder Typbezeichnerdie string-Klasse ist doch eingebunden

Danke schonmal im Vorraus
Don Quijote
-
Don Quijote schrieb:
#ifndef WINDOW #define WINDOW #include <string> typedef unsigned short SHORT; // Ist sowas nicht massiv irreführend? enum Stil { SSYMENU, MINBOX, MAXBOX, CLOSEBOX }; class window { private: SHORT width, height; SHORT xPos, yPos; string titel; // Wie wäre es mit std::string? public: //... }; #endifEigentlich alle Funktionen/Klassen der Standardbibliothek in C++ liegen im Namensraum std.
cu André
P.S: Ganz davon abgesehen das ich niemals typedefs wegen reiner Schreibfaulheit machen würde. Bei komplexen Templates okay, aber bei unsigned short? (Noch dazu wenn man es dann SHORT und nicht zumindestens USHORT oder ähnlich nennt).
-
Danke.....diesen Fehler werd ich nicht nochmal machen.
das mit "typedef" dient nur der Übung, damit ich die Bedeutung dieses Wortes behalte. Ich bin noch Anfänger und benutze alles so oft es geht in Übungsaufgaben. USHORT hmmm....eigentlich hast du in dieser Hinsicht vollkommen Recht.
-
Don Quijote schrieb:
das mit "typedef" dient nur der Übung, damit ich die Bedeutung dieses Wortes behalte. Ich bin noch Anfänger und benutze alles so oft es geht in Übungsaufgaben.
Schau aber, das das nicht zur Gewohnheit wird, denn diese Gefahr ist ziemlich gross. Versuch lieber, von Anfang an die Schlüsselwörter und Sprachkonstrukte sinnvoll einzusetzen.
-
Ja klar, das war das erste, was ich mir bei den Aufgaben überlegt habe. Ich setze sie bei Übungen so oft ein wie es geht oder bis ich sie sicher beherrsche.
Trotzdem danke für den Hinweis