Russian Qt Forum
Октябрь 23, 2018, 07:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMapIterator <double, CoinValueNode> помогите разобраться где ошибка  (Прочитано 349 раз)
Zusykss
Самовар
**
Offline Offline

Сообщений: 117


Просмотр профиля
« : Июль 26, 2018, 14:11 »

Добрый день использую итератор по мапу.
И бывает программа крашится если исходный QMap будет с 2 элементами, а когда с 3 то всегда работает без крашей, не могу понять из-за чего вот пример кода

Код:
CoinValue coin_value;
    if(!m_value_list[pair].green.isEmpty() && m_value_list[pair].green.size() < 2)
    {
        QMapIterator <double, CoinValueNode> iterator(m_value_list[pair].green);
            iterator.toBack();
            while (iterator.hasPrevious()) {

                    iterator.previous();

                const auto current_value = iterator.value();

                if (current_value.third >= min_count) {
                    coin_value.green = current_value;
                    break;
                }
            }
    }
//    else if(m_value_list[pair].green.size() == 2)
//    {
//        for(auto iter = m_value_list[pair].green.cbegin(); iter != m_value_list[pair].green.cend(); ++iter)
//        {
//            if (iter->third >= min_count) {
//                coin_value.green = *iter;
//                break;
//            }
//        }
//    }

    if(!m_value_list[pair].red.isEmpty())
    {
        for (const auto & value : m_value_list[pair].red) {

            if (value.third >= min_count) {
                coin_value.red = value;
                break;
            }
        }
    }


    return coin_value;

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.048 секунд. Запросов: 22.