Referenzen im Konstruktor
-
Stimmt folgende Aussage:
Referenzen im Konstruktor müssen konstant sein.
???MfG
Stromberg
-
referenzen auf was? schreibt doch bitte mal ein bisschen mehr zu dem, was du meinst.
so allgemein ist die antwort: nein.
-
Also z.B. bei:
class A { A(int a); //Geht A(int &a); //Geht nicht, zumindestens hat sich mein Compiler vorhin darüber beschwert A(const int &a); //Geht };Darum hab ich gedacht das es da vll. so nä Regel gibt.
MfG
Stromberg
-
class A { A(int &a); };Geht nur, wenn du auch einen veränderbaren Wert übergibst.
Folgendes geht z.b. nicht:
A i(42);Dies geht jedoch:
int foo = 42; A i(foo);
-
Stromberg schrieb:
...
class A { A(int a); //Geht A(int &a); //Geht nicht, zumindestens hat sich mein Compiler vorhin darüber beschwert A(const int &a); //Geht };...
Das stimmt soooo garantiert nicht. Das ist absolut korrektes C++ ... und das wird Dir Dein Compiler auch bestätigen.
WENN Du einen COmpilerfehler bekommst, dann wird das daran liegen, wie Du den Code einsetzt
a) bei der Implementierung von A::A() oder
b) beim Aufruf.Gruß,
Simon2.