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