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

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

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

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

09.05.2012, 12:17. Просмотров 863. Ответов 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++
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) { // Регистрация класса ...

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

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

Ошибка при вызове WSARecv - C++
Добрый день. Пытаюсь написать TCP клиент, но после реконнекта от сервера иногда возникают ошибки. Открываю сокет так: ...

Ошибка при вызове функции - C++
Добрый день! Есть функция по расчету детерминанта int _det(int size,double **arr,double &amp;det) { int i,j,k; det=1; double b; ...

Ошибка при вызове метода - C++
Не пойму в чем ошибка... #include &lt;vector&gt; #include &lt;iostream&gt; template &lt;typename T&gt; class Beast { public: int x; ...

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

Проблема при вызове функции - C++
Написал для себя простенькую напоминалку, выводящую указанное сообщение через определённый промежуток времени(ну там, &quot;отойди от компа,...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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