crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

mezmay
  опции профиля:
сообщение 11.8.2011, 8:54
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 272
Регистрация: 13.7.2009
Из: Ростов-на-Дону
Пользователь №: 904

Спасибо сказали: 16 раз(а)




Репутация:   1  


Есть кусок кода, вылетает на последней строчке:
        QVector<QVector<SBlock<T> > > vvBlocks(m_vBlocksLength.size());

        vvBlocks[0].reserve(ceil((double)bufSize/m_vBlocksLength[0]));
        
        for(U64 i=0; i<bufSize; i+=m_vBlocksLength[0])
        {
            T min = DBL_MAX;
            T max = -DBL_MAX;

            for(U64 j=0; j < m_vBlocksLength[0] && i + j < bufSize; j++)
            {
                if(vData[i + j] > max)
                    max = vData[i + j];
                if(vData[i + j] < min)
                    min = vData[i + j];
            }
            SBlock<T> block;
            block.max = max;
            block.min = min;

            vvBlocks[0].push_back/*append*/(block);
        }

        vvBlocks[1].reserve(vvBlocks[0].size()/m_lengthCoeff); // вылетает здесь

Почему это может быть? Причем если закомментировать цикл
for(U64 j=0; j < m_vBlocksLength[0] && i + j < bufSize; j++)

то перестает вылетать, хотя в этом цикле нет ничего связанного вектором vvBlocks

Сообщение отредактировал mezmay - 11.8.2011, 9:03
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.6.2025, 19:35