Membervariable mit nicht std constructor initialisieren
-
Hi,
folgendes Beispiel:
class a { a( int d ) { }; }; class b { a d(12); };Ich bekomme den Fehler
error C2059: Syntaxfehler: 'Konstante'Warum kann man nicht was anderes als den std Constructor benutzen?
-
class A { A( int d ) { }; }; class B { B( int d ) : m_a( d ) {} A m_a; };Erklärung: Du musst Membervariablen im Constructor initialisieren. Der Standard Constructor nimmt für die Member auch den Standard Constructor, und in A hast du keinen.
-
tuii schrieb:
...
class a { a( int d ) { }; }; class b { a d(12); };Ich bekomme den Fehler
error C2059: Syntaxfehler: 'Konstante'...
Der Fehler passt aber nicht zum Quellcode ....
Insgesamt steh ich ja auf "minimale Codebeispiel", aber hier ist doch das Kürzen ein wenig übertrieben geraten.tuii schrieb:
...
Warum kann man nicht was anderes als den std Constructor benutzen?
...Kannst Du .... musst Du aber definieren.
Gruß,
Simon2.