Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6454
Последний выпуск: 19.06.2015

[C++]std::vector<>::iterator: дебаг и релиз

10K
14 февраля 2012 года
Cybernetic
106 / / 22.07.2009
 
Код:
std::vector<std::pair<wchar_t, double>>* column = (*_partialProbabilityMatrix)[step];

std::vector<std::pair<wchar_t, double>>::iterator iter = column->begin();

for( ; iter != column->end(); iter++)
{
    //и далее тело цикла


Получаем указатель на вектор. Далее выбираем итератор его начала, и входим в цикл для обработки.
На условном выражении в заголовке цикла ( iter != column->end()) в релизе программы появляется такая штука:

Цитата:
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!

Program: D:\Projects\Kation-S\Release_CPP_x86\KationS.exe
File: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector
Line: 238

Expression: vector iterators incompatible

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

(Press Retry to debug the application)
---------------------------
Прервать Повтор Пропустить
---------------------------



В дебаге ее просто нету. Программа однопоточна. Никаких изменений вектора нет. И даже эта ссылка мне не помогает.

Что же это такое?

231
15 февраля 2012 года
aks
2.5K / / 14.07.2006
В теле цикла размер вектора не изменяется?

Цитата:
И даже эта ссылка мне не помогает.


Тоесть ты пробовал компилять с выставленным дефайном _HAS_ITERATOR_DEBUGGING в 0 и при этом ассерт остался?

10K
15 февраля 2012 года
Cybernetic
106 / / 22.07.2009
Цитата: aks
В теле цикла размер вектора не изменяется?


Нет, не меняется

Цитата: aks
То есть ты пробовал компилять с выставленным дефайном _HAS_ITERATOR_DEBUGGING в 0 и при этом ассерт остался?


Нет, не пробовал. У меня же проблема была не в дебаг версии, я думал /*почему-то*/, что в релизе этот дефайн и так обнулен.

Спасибо за ответ, но вопрос уже решен. Проблема сидела горааааздо глубже (в организации проекта, перемудрил с дефайнами, и в итоге в релиз версии грузилась не та версия вспомогательной либы).
А на форума кнопка "удалить вопрос" не работает. И не разрешает мне его даже редактировать(

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог