Ich habe folgende Programmstruktur:
Code: Alles auswählen
int main() {
try {
SubFunction();
return 0;
} catch(...) {
return -1;
};
}
void SubFunction() {
int * Array = new int[16];
CriticalFunction(Array);
delete [] Array;
}
void CriticalFunction(int * Array) {
if(…)
throw "FEHLER";
}
Irre ich mich, oder sollte dem nicht so sein? delete [] müsste doch im Fall einer Exception automatisch aufgerufen werden … die Operatoren new [] und delete [] sind global überladen, das dürfte aber eigentlich nichts ausmachen – oder?