Hallo, ich stehe ein vor einem Rätsel. Bei folgendem Code wird das Argument der Funktion verändert. Ich kann mir das nicht erklären. Eigentlich gibt die Funktion eine Referenz(Adresse) zurück. Hier wird aber die Referenz der Variable im Argument verändert. Wieso ist das so?
1 | int &Zahl(int &x) |
2 | {
|
3 | return x; |
4 | }
|
5 | |
6 | int main() |
7 | {
|
8 | |
9 | int a=3; |
10 | |
11 | Zahl(a)=5; |
12 | cout << "a=" << a << endl; |
13 | |
14 | return 0; |
15 | }
|
Nach der Ausführung hat a den Wert 5.