Есть такая задача: удалить элементы из QMap по ключу.
Я делаю это с этим кодом.
QMap <int, QString> map;
map.insert(0, "0");
map.insert(1, "1");
map.insert(2, "2");
map.insert(3, "3");
map.insert(4, "4");
map.insert(5, "5");
qDebug() << "Before:";
for (auto i = 0; i < map.size(); i++)
qDebug() << map.value(i) << "\t";
qDebug() << "--------------";
map.remove(3);
qDebug() << "After:";
for (auto i = 0; i < map.size(); i++)
qDebug() << map.value(i) << "\t";
У меня следующий результат:
До: "0" "1" "2" "3" "4" "5"
После: "0" "1" "2" "" "4"
Но я ожидаю, что результат будет:
До: "0" "1" "2" "3" "4" "5"
После:
"0" "1" "2" "4" "5"
Скажите, пожалуйста, что не так?