Wenn ich nun versuche, in der Funktion die FillStruct aufruft, die CPtrList auszulesen, funktioniert das nicht. Ich bekomm nicht die richtige Werte raus.
Ausgelesen wird folgend:
C++:
POSITION pPos = ptrList.GetHeadPosition(); MyStruct s;
while(pPos) { s = (MyStruct*)ptrList.GetNext(pPos); }
void CTest::FillStruct(CPtrList &ptrList) { MyStruct s; // lokale Variable
s.strTest = "Test"; s.iTest = 1;
ptrList.AddTail(&s); // hier wird die lokale Variable s zerstört // und Dein Pointer in prtList zeigt ins Nirvana }
Du solltest a) Dir mal ein C++ Buch durchlesen (Lebensdauer von Variablen) und b) eher std::list<MyStruct*> benutzen.Dieser Post wurde am 27.02.2007 um 10:42 Uhr von jencas editiert.