[gelöst] Referenz (auf andere Membervariable) als Membervariable
-
Hallo allerseits!
Ich würde gerne eine Referenz auf eine Membervariable als Membervariable anlegen.
Etwa so:class Klasse { ... private: short a; short& b=a; //auf diese Zeile beziehen sich die Error }dann hagelt es allerdings Compilerfehler:
error C2327: 'Klasse::a' : is not a type name, static, or enumerator
error C2065: 'a' : undeclared identifier
error C2864: 'Klasse::b' : only static const integral data members can be initialized within a classWie kann ich das vermeiden?
(Ich habe bereits versucht, b außerhalb des Headers zu initialiseren, allerdings bisher nicht erfolgreich...)
[Sinn der Sache ist übrigens ganz banal, dass durch zwei verschiedene Namen (natürlich nicht a und b
) zwei verschiedene Aspekte der Funktion der Variable ausgedrückt werden sollen.]Danke und Gruß,
Dong
-
Hi!
In der Initialisierungsliste musst du das machen:
class Klasse { ... private: short a; short& b; public: Klasse() : b( a ) {} };Alternativ wäre das mit einem union machbar:
class Klasse { ... private: union { short a; short b; }; }grüße
-
Danke!
