Statische Konstantenzeichenfolge (Klassenmitglied)
Ich hätte gerne eine private statische Konstante für eine Klasse (in diesem Fall eine Formfabrik).
Ich hätte gerne etwas in der Art.
class A {
private:
static const string RECTANGLE = "rectangle";
}
Leider bekomme ich alle möglichen Fehler vom C ++ (g ++) - Compiler, wie zum Beispiel:
ISO C ++ verbietet die Initialisierung des Members 'RECTANGLE'
Ungültige In-Class-Initialisierung des statischen Datenelements des nichtintegralen Typs "std :: string"
Fehler: Statisch machen von "RECHTECK"
Dies sagt mir, dass diese Art von Stabdesign nicht mit dem Standard übereinstimmt. Wie haben Sie eine private wörtliche Konstante (oder vielleicht eine öffentliche), ohne eine #define-Direktive verwenden zu müssen (ich möchte die Hässlichkeit der Datenglobalität vermeiden!)
Jede Hilfe wird geschätzt.