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.

Antworten auf die Frage(11)

Ihre Antwort auf die Frage