und die Konstanten dann in einem Konstruktor während des Programmablaufs wie folgt benutzen wollen:
C++:
CParameterFactory::CParameterFactory() { std::string s = ParameterTypeNames::FLOAT; // .... }
Leider ist s ein leerer string. Wie kommt das denn?? Was mich besonders irritiert, dass ich die Klassen aus einem anderen Projekt kopiert habe, wo ich sie bereits auch gleiche Weise genutzt habe.
Hi, das mit dem const ist mir vorher nicht aufgefallen -- danke. Aber es ändert auch leider nix. Mit static const std::string ... sind die Konstanten immer noch nicht mit den Werten initialisiert, sondern empty.
Aber wie schaffe ich es denn sonst, sicher zu stellen, dass die Konstanten initialisiert sind?? Ich habe ja keinen static Constructor wie in C# oder etwas ähnliches.
'Morgen, der Code, so wie Du ihn gepostet hast, funktioniert. Der Fehler liegt offenbar irgendwo ausserhalb. Beachte das s eine lokale Variable ist und kein Member!
btw. du kannst die Strings wenn sie statisch sind auch gleich in der Klassendeklaration initialisieren, dann ist das ganze auch noch etwas übersichtlicher. -- "Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein www.blue-xenon.de.vu
@BoBtheREapER: Das geht nicht. Welcher Compiler nimmt Dir das ab ? -- Reden ist Schweigen und Silber ist Gold.Dieser Post wurde am 25.04.2007 um 08:06 Uhr von stephanw editiert.