In C erfolgt die Initialisierung eines statischen Datenelements vom Typ const std::string direkt innerhalb der Klassendefinition nicht erlaubt. Stattdessen gibt es zwei Möglichkeiten, solche Datenelemente zu definieren:
Verwenden Sie eine Inline-Variable, die das statische Element innerhalb der Klassendefinition definiert und initialisiert:
class A { private: inline static const string RECTANGLE = "rectangle"; };
Definieren Sie das statische Mitglied außerhalb der Klassendefinition und stellen Sie den Initialisierer in einer separaten Implementierung bereit Datei:
Header-Datei
class A { private: static const string RECTANGLE; };
Implementierungsdatei
const string A::RECTANGLE = "rectangle";
Die Syntax zum Initialisieren statischer Datenelemente innerhalb der Klassendefinition wird nur für Integral- und Enum-Typen unterstützt. Für nicht ganzzahlige Typen wie const std::string ist dieser Ansatz nicht gültig.
Das obige ist der detaillierte Inhalt vonWie initialisiere ich statische „const std::string'-Datenelemente in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!