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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Правильная кодировка для кириллицы http://www.cyberforum.ru/cpp-beginners/thread502806.html
cout << "Я учусь програмировать на С++.У меня стоит компилятор Dev C++.Проблема в том,что когда я вывожу текст в кирилице вместо него выводятся песпорядочный набор символов в латинице.Помогите, хто как может!";
C++ Русские буквы в именах файлов меняют CRC32 Есть консольное приложение на VC++ из состава NET 2003. Вычисляется CRC32 имен файлов каталога (т.е. строк), например «TEST est.txt» и т.п. Сначала все имена пишутся в вектор и он сортируется: sort(newfiles.begin(),newfiles.end()); Проблема: Если есть файлы с русскими буквами, то наблюдаются чудеса: 1. CRC в режимах DEBUG и RELEASE – разные. 2. Добавление незначащей команды cout << tempstr... http://www.cyberforum.ru/cpp-beginners/thread502778.html
C++ Написание программы под заказ с неразглашением ее кода
Нужно написать небольшую программу на заказ за деньги на С++. Самая главная проблема- 100% гарантия того, чтобы код не ушел налево. Всех знакомых опросил. Что посоветуете. Есть ли конторы или люди с положительной репутацией (по опыту)?
C++ Кто работал с библиотекой pcre (регулярные выражения)
Разкажите как установить?
C++ Не тривиальное использование шаблонов http://www.cyberforum.ru/cpp-beginners/thread502559.html
Столкнулся со следующей проблемой: предположим что у нас есть простой шаблонный класс template <class Type> class Test { protected: Type m_val; }
C++ Разработана библиотека функций API для MetaTrader 4 Уважаемые господа трейдеры и программисты! Нами разработана DLL библиотека + советник для MT4, которые решают все проблемы API MetaTrader 4. Теперь все возможности MT4 (котировки, открытие и закрытие позиций, история торговли и т.д.) доступны из разработанных Вами программ. Все подробности на нашем сайте http://www.min2006.ru подробнее

Показать сообщение отдельно
OzArt
Сообщений: n/a
09.05.2012, 12:17     Исключение при вызове iterator destruction
Здравствуйте.
Помогите пожалуйста. Вот фрагмент кода:
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 )
Ни чего на ум не приходит... Если возникают не действительные итераторы,то кто в таком случае их "выносит"? Подскажите, пожалуйста, может я уже не замечаю очевидных вещей?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru