Hallo zusammen,
ich bin neu in c++ und habe eine Frage bezüglich folgender Sache:
Mein gcc-Compiler sagt mir, wo ich der x die 43 zuweise: address of local variable ‘x’ returned [enabled by default].
So wie ich das verstehe, wird die Adresse von der x-Variable nach dem abarbeiten der Methoe bam wieder freigegeben, worin sich immer noch der Wert 43 befindet.
Nun merke ich mir diese Adresse im Zeiger "hallo" um auf den Wert 43 zugreifen zu können und das funktioniert auch, bei der ersten cout-Ausgabe wird die 43 komischeweise angezeigt, also wo ist das Problem???
ich bin neu in c++ und habe eine Frage bezüglich folgender Sache:
C++:
int* bam(){
int x = 43;
cout << "Wert von bam in der Funktion: " << x << "\n";
cout << "Adresse von dem Wert in der Funktion: " << &x << "\n";
return &x;
}
int main(int argc, char** argv) {
int *hallo = bam();
cout << "hallo-zeiger zeigt nicht mehr auf den Wert von der Funktion: " << *hallo << "\n";
cout << "Adresse wo sich dieser Wert befindet: " << hallo << "\n";
Mein gcc-Compiler sagt mir, wo ich der x die 43 zuweise: address of local variable ‘x’ returned [enabled by default].
So wie ich das verstehe, wird die Adresse von der x-Variable nach dem abarbeiten der Methoe bam wieder freigegeben, worin sich immer noch der Wert 43 befindet.
Nun merke ich mir diese Adresse im Zeiger "hallo" um auf den Wert 43 zugreifen zu können und das funktioniert auch, bei der ersten cout-Ausgabe wird die 43 komischeweise angezeigt, also wo ist das Problem???