Добрый день использую итератор по мапу.
И бывает программа крашится если исходный 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;