Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
OzArt
Сообщений: n/a
#1

Исключение при вызове iterator destruction - C++

09.05.2012, 12:17. Просмотров 868. Ответов 0
Метки нет (Все метки)

Здравствуйте.
Помогите пожалуйста. Вот фрагмент кода:
try {
if(!m_vDataItems.empty()) {
int nItemsCount = m_vDataItems.size();
for(int i=0; i < nItemsCount; i++) {

_variant_t vtValues[10];
vtValues[0] = (long)m_vDataItems[i].nID;
vtValues[1] = (long)m_vDataItems[i].nParentID;
vtValues[2] = m_vDataItems[i].szItemName.c_str();
vtValues[3] = (long)m_vDataItems[i].nSequence;
vtValues[4] = m_vDataItems[i].bVector;
vtValues[5] = (long)m_vDataItems[i].nVectorNumElements;
vtValues[6] = m_vDataItems[i].bUseConvertion;
vtValues[7] = m_vDataItems[i].szDescription.c_str();
vtValues[8] = (long)m_vDataItems[i].nLocationType;
vtValues[9] = (long)m_vDataItems[i].nStartingAddress;

saValues.CreateOneDim(VT_VARIANT, 10, vtValues, 0);

m_pRecordset->AddNew( saFields, saValues);
m_pRecordset->Update();

saValues.Destroy();
}
}
}
В процессе отладки:
455: saValues.Destroy();
00406BAA lea ecx,[ebp-44h]
00406BAD call COleSafeArray:estroy (004019c4)
456: }
00406BB2 mov byte ptr [ebp-4],3
00406BB6 push offset @ILT+645(_variant_t::~_variant_t) (0040128a)
00406BBB push 0Ah
00406BBD push 10h
00406BBF lea ecx,[vtValues]
00406BC5 push ecx
00406BC6 call `eh vector destructor iterator' (0040ed50)
00406BCB jmp CDriverConf::AddDataItems+179h (004068b9)
457: }
на вызове call `eh vector destructor iterator' (0040ed50), попадаю в эту функцию и там в процессе циклического перебора итераторов на индексе 2 (именно на нем), вылетаю по исключению:
HEAP[DriverConfig.exe]: Invalid Address specified to RtlSizeHeap( 00140000, 00167148 )
Ни чего на ум не приходит... Если возникают не действительные итераторы,то кто в таком случае их "выносит"? Подскажите, пожалуйста, может я уже не замечаю очевидных вещей?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2012, 12:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исключение при вызове iterator destruction (C++):

При вызове функции необработанное исключение, выход за границы массива - C++
bool checkprocessed(point data,int xx,int yy,int wind) { bool mark=false; int s=0; for(int k=xx; k&lt;xx+wind;k++){ for(int...

При вызове CreateWindow в функции вылетает необработанное исключение (найти и исправить ошибку) - C++
При вызове CreateWindow в функции HRESULT Render_CreateWindow(LPCTSTR wclass, LPCTSTR wname, LPCSTR icon) { // Регистрация класса ...

std::sort(iterator, iterator, method) подскажите как исправить - C++
Уважаемые Знатоки!!! Вашему вниманию предоставляю код: #include &quot;stdafx.h&quot; #include &lt;vector&gt; #include &lt;algorithm&gt; class...

Класс - Ошибки при вызове методов: В вызове функции отсутствует список аргументов - C++
Добрый вечер всем! При изучении и написании работы столкнулся с ошибкой от которой не могу избавиться. (Т.к. очень сильно плаваю в ООП)....

Ошибка “vector<bool> erase iterator outside range” при работе алгоритма Хаффмана - C++
Проблема с функцией BuildTable. Компилируется, но в процессе работы возникает ошибка. // Huffmann.cpp: определяет точку входа для...

Ошибка при вызове метода класса, при чтении из файла - C++
добрый день, пытаюсь считать данные из и запихнуть их в список в файле у меня вот такие данные a01 b10 А и Б надо запихнуть в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2012, 12:17
Привет! Вот еще темы с ответами:

Ошибка при запуске программы "vector iterator not incrementable" - C++
при запуске программы (без разницы какой функции) вылетает ошибка (заг. темы) как это исправить? мне кажется, что проблема в том, что я...

Ошибка "iterator not dereferencable" при использовании ссылки - C++
Всем привет. Без ссылки все работает, с ссылкой ошибка: &quot;iterator not dereferencable&quot;. С ссылкой: void func(vector&lt;string&gt;&amp; arr) ...

Ошибка при вызове деструктора - C++
По окончании программы выдает ошибку #include &lt;string.h&gt; #include &lt;iostream&gt; using namespace std; class nik //объявление...

Ошибка при вызове функции - C++
В функции NewWords вызывается функция correct,при отладке я не могу войти в эту функцию,к тому же потом не выводится элементы объекта...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru