kickerxy123
Erfahrenes Mitglied
Guten Abend,
ich habe derzeit ein Problem, was zum Absturz führt.
Wenn ich zuerst die BackupFunktion, dann die restoreFunktion und dann die BackupFunktion aufrufe, dann stürzt das Programm ab.
Typ vom backupPointer: my*
Ich hoffe, ihr könnt mir helfen.
Achso: Wenn ich die delete Befehle auskommentiere, dann läuft alles ohne Probleme! Ich dachte, dass ich mit meinen IF-Abfragen alles abfange, sodass ein delete kein Absturz verursachen kann. Scheinbar nicht - kann mir das wer erklären?
Danke und Gruß,
kickerxy
ich habe derzeit ein Problem, was zum Absturz führt.
Wenn ich zuerst die BackupFunktion, dann die restoreFunktion und dann die BackupFunktion aufrufe, dann stürzt das Programm ab.
Typ vom backupPointer: my*
C++:
vector<my> bla;
bla.push_back(...);
//backupPointer ist nun auf NULL initialisiert
my* copyMyWindow(my* pIn)
{
if(!pIn) return NULL;
my* e = new my;
*e = *pIn;
return e;
}
void backupMyWindowInItself(vector<my>* pInOut)
{
if(!pInOut) return;
for(int i = 0; i < pInOut->size(); i++)
{
if((*pInOut)[i].backupPointer) delete (*pInOut)[i].backupPointer;
(*pInOut)[i].backupPointer = copyMyWindow(&(*pInOut)[i]);
}
}
void restoreMyWindowFromItself(vector<my>* pInOut)
{
if(!pInOut) return;
for(int i = 0; i < pInOut->size(); i++)
{
if(!((*pInOut)[i].backupPointer)) continue;
(*pInOut)[i] = *((*pInOut)[i].backupPointer);
delete (*pInOut)[i].backupPointer;
}
}
Ich hoffe, ihr könnt mir helfen.
Achso: Wenn ich die delete Befehle auskommentiere, dann läuft alles ohne Probleme! Ich dachte, dass ich mit meinen IF-Abfragen alles abfange, sodass ein delete kein Absturz verursachen kann. Scheinbar nicht - kann mir das wer erklären?
Danke und Gruß,
kickerxy
Zuletzt bearbeitet von einem Moderator: