maniacquaker
Grünschnabel
Hallo,
in meinem schlauen übungsbuch steht, dass folgendes NICHT geht:
int& max(int x,int y){return ((x>y)?x:y);}
(leider) geht es bei mir aber (gcc unter anjuta)
was soll denn da der fehler sein? die referenz auf x bzw. y als rückgabewert? theoretisch kann ich mir denken, dass es nicht geht, da die variablen ja vom stack genommen werden und dann auf einen (ungültigen) speicherbereich referenziert wird. kann es sein, dass der gcc da standards verletzt?
danke im voraus
in meinem schlauen übungsbuch steht, dass folgendes NICHT geht:
int& max(int x,int y){return ((x>y)?x:y);}
(leider) geht es bei mir aber (gcc unter anjuta)
was soll denn da der fehler sein? die referenz auf x bzw. y als rückgabewert? theoretisch kann ich mir denken, dass es nicht geht, da die variablen ja vom stack genommen werden und dann auf einen (ungültigen) speicherbereich referenziert wird. kann es sein, dass der gcc da standards verletzt?
danke im voraus