Aufzählung im Konstruktor übergeben
-
genauso hätt ich das ja auch gemacht, aber es klappt einfach nicht.
-
new gibt übrigens einen Zeiger auf die Instanz zurück.
Zudem verstehe ich da auch deine Vorgehensweise nicht. Normalerweise sieht das wie folgt ausVersuch* versuch = new Versuch(hans);
-
hmm...
da hab ich mich natürlich verschrieben.
Das lautet natürlich so:
Ca versuch = new Ca(hans);Das ist aber nicht das Problem
-
Doch, ist es. Ich sagte ja schon, dass new einen Zeiger auf die Instanz zurückgibt.
-
Mal noch 'ne andere Vermutung. Kann es sein, dass du mehrere Typen namens 'Typ' definiert hast (was übrigens kein sinnvoller Bezeichner ist)?
-
den Typ gibts nur einmal.
Könntest Du mir, wenn das ganze bei Dir klappt einen Beispiel - Code rein pasten.
Ich verzweifel schon langsam...Wär echt klasse...
Grüsse
-
enum tolle_namen { hans, tom }; class foo { private: tolle_namen bar_; public: foo(tolle_namen source) : bar_(source) { } }; int main() { foo* a = new foo(hans); delete a; return 0; }
Getestet mit MSC und GCC, funktioniert problemlos.
-
Danke für die Quellcode.
Hier is die Enum aber nicht teil einer Klasse.
Wie muss ich damit umgehen wenn das so aussieht.[code]class foo { public: enum tolle_namen { hans, tom }; tolle_namen bar_; foo(tolle_namen source) : bar_(source) { } }; int main() { foo* a = new foo(hans); delete a; return 0; }[/code]
-
foo* a = new foo(foo::hans);
-
Danke, genau das hab ich gebraucht.