2016-07-21 7 views
-3

Im folgenden Code funktioniert assert-Anweisung (wird falsch). Es gibt jedoch keine parallelen Threads, die auf Arrays zugreifen. Tatsächlich gibt es überhaupt keinen parallelen Code. Wenn ich die Linie (im Visual Studio) am Anfang der Funktion trage, funktioniert sie korrekt. Was könnte das Problem verursachen? Ich kann keinen Grund sehen.Std :: Vektor außerhalb der Grenze

+1

Haben Sie versucht, ein minimales vollständiges Beispiel zu schreiben? Etwas, das jemand anderes kompilieren und ausführen könnte? – Jens

+0

'SafeDel' ist wahrscheinlich nicht so sicher hier. – LogicStuff

+0

leider lösche ich "SafeDel" Zeilen. Es tritt immer noch ein Problem auf. Wenn dieser Code keine logischen Probleme enthält, ist das für mich in Ordnung. Dann ist das Problem in einigen anderen Bereichen. – Cihan

Antwort

0

Vielleicht gibt es das folgende Problem: die innere Schleife (für J) kann mehr als nur ein Element von m_meteor löschen. Wenn dies der Fall ist, löscht die innere Schleife die Elemente der äußeren Schleife (für I) noch schneller, als die äußere Schleife durchlaufen wird.

+0

sehr schlaue Antwort, das habe ich vermisst. Vielen Dank ! – Cihan

Verwandte Themen