Ich möchte eine private statische Konstante für eine Klasse (in diesem Fall eine Form-Fabrik) haben.
Ich hätte gerne etwas in dieser Art.
class A {
private:
static const string RECTANGLE = "rectangle";
}
Leider erhalte ich alle Arten von Fehlern vom C++ (g++) Compiler, wie zum Beispiel:
ISO C++ verbietet die Initialisierung von Mitglied 'RECTANGLE'
Ungültige klasseninterne Initialisierung eines statischen Datenelements vom nicht integralen Typ 'std::string'
Fehler: 'RECTANGLE' wird statisch
Das sagt mir, dass diese Art von Bauteilkonstruktion nicht mit der Norm übereinstimmt. Wie kann man eine private literale Konstante (oder vielleicht public) haben, ohne eine #define-Direktive zu verwenden (ich möchte die Hässlichkeit der Datenglobalität vermeiden!)
Für jede Hilfe sind wir dankbar.