Wo ist der richtige Ort zum Initialisieren eines Klassendatenelements? Ich habe die Erklärung Klasse in einer Header-Datei wie folgt aus:Korrekter Ort zum Initialisieren von Klassenvariablen?
foo.h:
class Foo {
private:
int myInt;
};
Dann habe ich versuchen, einen Wert myInt in der entsprechenden CPP-Datei zu setzen:
Foo. cpp:
int Foo::myInt = 1;
Ich bekomme einen Compiler-Fehler für die Neudefinition von MyInt. Was mache ich falsch???
Hallo, können Sie mir sagen, wie heißt die 'Foo(): myInt (1) {}' - Syntax, damit ich sie googlen und ausführlicher einlesen kann? Ist es das gleiche wie 'public: Foo() {myInt = 1; } '? – SexyBeast
@Cupidvogel: Sie sind "Member initialiser lists" (http://en.cppreference.com/w/cpp/language/initializer_list) – Eclipse