Und nochmal eine Frage,
gibt es irgendwelche Bedingungen/Hat irgendwer schon Erfahrungen
gemacht, daß Klassen aus der STL Objekte mit insert nicht einfügen?
Konkret hab ich beim Programmieren das folgende Problem. Ich hab in
eine Liste, die definiert ist als
std::set<PathItem, less<PathItem> > openlist;
(was PathItem ist, dürfte in dem Zusammenhang erstmal egal sein).
Das Ziel ist, daß das kleinste PathItem das Element *(openlist.begin())
ist, was im Rahmen meines Problems auch klappt.
In einer Funktion wird jetzt eine Instanz temp der Klasse PathItem
mittels
openlist.insert(temp);
eingefügt. Und jetzt kommt das interessante:
Durch meine zahlreichen Debugging-Anweisungen hab ich herausgekriegt,
daß dieser Befehl ausgeführt wird und daß temp immer unterschiedlich
ist (daran liegt es also nicht). Wenn ich mir anschließend über eine
Debugging-Anweisung openlist ausgeben lasse, stelle ich allerdings
fest, daß das erste temp danach in openlist auftaucht, das zweite
nicht, das dritte wieder, das vierte nicht...
Dadurch endet der Algorithmus mit einem Segfault, was ich nicht so toll
finde. Ich bin mir ganz sicher, daß es nicht an meinem Programm liegt
(der ganze Rest arbeitet laut Debuggingausgabe ok). Weiß irgendjemand
was dazu?
cu,
Ulf
--
If you can touch it and you can see it, it's REAL.
If you can touch it but you can't see it, it's TRANSPARENT.
If you can't touch it but you can see it, it's VIRTUAL.
If you can't touch it and you can't see it, it's GONE.