1

For example :

QList<QMap<QString,QString> > list

QList<QMap<QString,QString> >::iterator i;
    for (i = list.begin(); i != list.end(); ++i)
    {
        QMap<QString,QString>::iterator j;
        for (j = i->begin(); j != i->end(); ++j)
            qDebug() << j.key() << ": " << j.value() << endl;
    }

So this stl-style is working. But i can't rewrite to java-style :

   QListIterator<QMap<QString,QString> > i(list);
    while (i.hasNext())
    {
        QMapIterator<QString,QString> j(i); //error 
        while (j.hasNext()) {
            j.next();
            qDebug() << j.key() << ": " << j.value() << endl;
        }
    }

Here i get error - cannot convert parameter 1 from QListIterator<T>' to 'const QMap<Key,T>

László Papp
  • 51,870
  • 39
  • 111
  • 135
agent007
  • 11
  • 1

1 Answers1

1

You need to get the next item when using a java style iterator as follows:

 QMapIterator<QString,QString> j(i.next()); //no error
László Papp
  • 51,870
  • 39
  • 111
  • 135