Я пытаюсь использовать std::vector‹>::const_iterator и получаю сбой «нарушение прав доступа». Похоже, код std::vector дает сбой, когда использует собственные внутренние указатели First_
и Last_
. Предположительно, это известный баг. Я надеюсь, что кто-то может указать мне правильный обходной путь. Вероятно, имеет значение, что функция сбоя вызывается из внешней библиотеки?
const Thing const* AClass::findThing (const std::string& label) const
{
//ThingList_.begin() blows up at run time. Compiles fine.
for (std::vector<Thing*>::const_iterator it = ThingList_.begin(); it != ThingList_.end(); ++it) {
//Irrelevant.
}
return 0;
}
Простой вызов ThingList_.size()
также приводит к сбою.
Это sp6, если это имеет значение.