new Problem
-
Hi
irendwie check ich jetzt überhaupt nix mehr
Hab folgenden Code für eine Verkette Liste:
void CImagesList::AddImage(TCHAR cNewName[MAX_PATH]) { CImages *pTemp; pTemp = new CImages(); int iNumber; if (pEnd) { iNumber = pEnd->GetNumber(); pEnd->SetNext(pTemp); pTemp->SetPrevious(pEnd); } else { iNumber = 0; pStart = pTemp; pStart->SetPrevious(0); } pTemp->SetName(cNewName); pTemp->SetNext(0); pCurrent = pEnd = pTemp; pEnd->SetNumber(iNumber++); iCounter++; }
Warum bekomm ich für pTemp = new CImages(); immer denn gleichen Zeiger
-
Wo bekommst du die gleiche Speicheradresse? Nach dem new?
-
ja genau... ich bin total durch denn wind... check überhaupt nix mehr
-
Ok - jetzt bin ich total
Also wann wird der Dekonstruktor aufgerufen?
Halb folgenden Code:
class CClass { ... } ... CClass Class ... int WINAPI WinMain (...) { ... } LRESULT CALLBACK WndProc (...) { ... }
Wenn ich einmal durch die WndProc durch bin wird der Dekonstruktor aufgerufen
is doch nett normal oder?
Also nur das was ich im Dekonstruktor gelöscht hab war auch wech... unter anderem hab ich den alle Zeiger mit delete gelöscht deshalb
-
Wenn das ein globales Objekt ist, wird der Destruktor (nicht "Dekonstruktor") nach dem Ende der main-Funktion aufgerufen.
-
pTemp = new CImages();
Was macht denn das, geht das überhaupt?
AFAIK müssen da die Klammern weg.
-
Die sind zwar überflüssig, aber nicht falsch.
-
Bashar schrieb:
Wenn das ein globales Objekt ist, wird der Destruktor (nicht "Dekonstruktor") nach dem Ende der main-Funktion aufgerufen.
Das dachte ich ja auch... aber bei mir wird er immer nach dem durchlauf der WndProc aufgerufen...
und dat is nett die main
-
bitte stelle uns einen minimalcode zusammen, der das verhalten zeigt und sich compilieren lässt.
-
Ok... werd ich heute abend machen...
-
Sorry, ich kann das irgendwie nicht in minimal form nachbauen
Aber ich hab jetzt ne möglichkeit gefunden... danke!!!