Jetzt mal unabhänig vom Sinn des ganzen: wie soll ich das machen? Ich möchte doch nur in meiner Klasse Membervariablen, die Referenzen sind. Setzen kann man die doch natürlich erst im Konstruktor. (Klasse B)
gcc:
$ make versuch g++ versuch.cpp -o versuch versuch.cpp: In constructor ‘B::B(Zwei&)’: versuch.cpp:18: error: uninitialized reference member ‘B::zwei’
C++:
class Eins{ int a; int b; };
class Zwei { Eins eins; public: int c; };
class B{ public: Zwei &zwei; B(Zwei &zwei); };
B::B(Zwei &zwei) { this->zwei = zwei; };
int main() { Zwei zwei; zwei.c = 10; B b(zwei);
std::cout << b.zwei.c << std::endl;
return0; }
DankeDieser Post wurde am 27.07.2007 um 09:10 Uhr von Pler editiert.
class Zwei { public: Eins& eins; Zwei(Eins& eins); };
Geht wirklich. Das hatte ich auch so geschrieben. Aber bei mir ging das nicht. (Also in dem richtigen Code, das hier ist ja nur das vereinfachte Beispiel. Und da habe ich das gar nicht noch mal probiert)
Nachtrag: @Flo habs schon verstanden! Is ja auch schon spätDieser Post wurde am 26.08.2007 um 21:49 Uhr von Pler editiert.