Next: Call by Reference I
Up: Pointer Puzzles
Previous: Call by Pointer Reference
int *add(int a,int b) { int result; result =a+b; return &result; } main() { int *sum; sum=add(3,8); cout << *sum << endl; }
FALSCH, Programm compiliert, |
kann aber bei der Ausführung abstürzen. |
result ist eine lokale Variable! Nach Verlassen |
der Funktion add() wird dieser Speicherplatz freigegeben! |
Compiler: |
warning: address of local variable `result' returned |
© 1997 Gottfried Rudorfer, C++-AG, Lehrveranstaltungen, Abteilung für Angewandte Informatik, Wirtschaftsuniversität Wien, 3/19/1998 |