У меня есть 3 типа списков, и я пытаюсь распечатать их в соответствии с attribute_type.поэтому в соответствии с attribute_type выбирается итератор.проблема в том, что если, например, attribute_type == "pis", условие if выполняется, но когда оно завершается, оно возвращается к верхнему объявлению: QMapIterator it (pit.item_parameters), поэтому итератор таким образом недопустим ... как я долженобъявить это правильно?
QMapIterator<QString, IP> it(pit.item_parameters);
if (attribute_type == "ips") {
QMapIterator<QString, IP> it(pit.item_parameters);
if (pit.item_parameters.isEmpty()) { return; }
}
else if (attribute_type == "variables") {
QMapIterator<QString, Variable> it(pit.variables);
if (pit.variables.isEmpty()) { return; }
}
else if (attribute_type == "pis") {
QMapIterator<QString, PI> it(pit.pis);
if (pit.pis.isEmpty()) { return; }
}
while(it.hasNext())
{
it.next();
text += it.key();
text += it.value().type;
}