Интересно, каков может быть эффект:
&& (openListIterator <= openListVector.end()))
Действительно, в первой части предложения while вы не используете openListIterator
, поэтому вполне может быть, что циклвходит, когда openListIterator
равно openListVector.end()
, а затем увеличивается.Итак, когда вы делаете вставку, вы получаете ошибку сегментации ...
Не могли бы вы проверить это условие, когда у вас есть ошибка сегментации?
Если это является причиной проблемы, выможно использовать вместо:
&& (openListIterator < openListVector.end()))