static const classe in einer Klasse
-
Folgende Situation:
class a { static const andereKlasse b = andereKlasse(parameter); };Wie bringe ich das zum Laufen?
-
class a { static const andereKlasse b; }; const andereKlasse a::b = andereKlasse(parameter);
-
Danke!
-
Nur noch so als Tipp: Wenn Du das in eine Header-Datei packen willst und diese mehrfach einbinden willst, klappt das so nicht. Denn die Definition von a::b (letzte Zeile) gehört in eine cpp-Datei.
-
stusskacker schrieb:
So ein Stuss, natürlich kannst du Deklaration und Definition in einer Datei haben, da ein Inlcude nichts weiter wie ein cut&paste ist. Du solltest nur wie bei allen Includedateien dir einen Includeguard basteln.
Gar kein Stuss. Probier es aus. Ich sehe auch nicht, wie deine Argumentation dagegen spricht, denn sie erläutert ja gerade, warum es nicht geht. Da include eine reine textersetzung ist, würde eine Variable mit gleichem Namen in allen Übersetzungseinheiten existieren, was dann den Linker verwirrt.
edit: Häh, wo ist er denn jetzt hin? Hier stand doch gerade noch der zitierte Beitrag.

-
Vielleicht hat er "mehrfach einbinden" missverstanden. Ich meinte damit natürlich "in mehr als einer cpp-Datei includen".