sehe bei * und & nicht mehr so ganz durch
-
Hi Leute, hier mein Problem
void test2(int& a) { ... } void test1(int *a) { ... } void main() { int a; }
Frage: Wie übergebe ich das a an test1?
Antwort: test1(&a); Oder??Frage: Wie übergebe ich jetzt das a aus test1 an test2?
Antwort: ????Stehe gerade ein bißchen auf dem Schlauch...
Danke für Hinweise!LIBS
-
void main() { int a; test1(&a); test2(a); }
Bei Referenzparameter werden wie "normale Parameter" initalisiert mit dem Unterschied, dass sie nur 32bit gross sind!;
Deine Test2-Funktion erwartet dagegen ein Verweis auf ein Speicherstelle die man mit &variable angibt.Beide Funktionen zeigen auf int a, deswegen verändern beide Funktionen int a.
-
Ok, geht auch &(*a)? Scheint aber etwas umständlich ...
Vielleicht kann jemand nochmal kurz den unterschied zwischen * und & zusammenfassen, wr doch auch ein gutes Thema für die FAQ!LIBS
-
Ok, geht auch test2(&(*a))? Scheint aber etwas umständlich ...
Vielleicht kann jemand nochmal kurz den unterschied zwischen * und & zusammenfassen, wr doch auch ein gutes Thema für die FAQ!LIBS
-
#include "stdafx.h" #include "iostream.h" int _tmain(int argc, _TCHAR* argv[]) { int i = 2; int *pi = &i; int &ri= i; cout << i << endl; cout << ri << endl; // Dereferenzierung // bedeutet: Verwende die Variable auf die gezeigt wird. Also den Wert von i cout << *pi << endl; cout <<&(*pi) << endl; cout << pi << endl; int a; cin >> a; return 0; }