Konstante Variable aus Klasse initialisieren
-
Wie kann ich hier die Konstante initialisieren?
class my_class { public: const string str; my_class(); // ctor }; my_class :: my_class () { str = "test"; }Keine Übereinstimmung für 'string::operator =(char *)' gefunden

Mit der Fehlermeldung kann ich an der Stelle nichts anfangen ...
-
Google mal nach "Initialisierungsliste"
-
Initialisierungslisten kenne ich, aber ich wollte das so machen das man dem Konstruktor keine Parameter übergibt. Oder geht das nicht mit const Variablen?
class my_class { public: const string str; my_class( string s ); // ctor }; my_class :: my_class (string s ) : str(s) { }
-
class my_class { public: const string str; my_class(); // ctor }; my_class :: my_class () : str("") { }? Aber was bringt dir das. Du kannst Konstande Klassenelemente nunmal nur einmal (im CTor, Initialisierungsliste) initialisieren. Das ist ja der Sinn am const...
-
my_class schrieb:
Initialisierungslisten kenne ich, aber ich wollte das so machen das man dem Konstruktor keine Parameter übergibt.
Initialisierungslisten haben nichts mit Parametern zu tun...
-
Oh, so einfach kann es sein.^^ Danke
-
my_class schrieb:
Initialisierungslisten kenne ich, aber ich wollte das so machen das man dem Konstruktor keine Parameter übergibt.
Oder auch nicht ...

In der Schule hatten wir die immer mit Parametern deshalb dachte ich die kommen immer dahin.
Ich glaub ich googel mal lieber noch etwas vielleicht finde ich noch andere Überarschungen.
