2014-12-25 15 views
1

: Qt에서 stl-style 대신 java-style iterators를 사용하는 방법은 무엇입니까? 예를 들어

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; 
    } 

그래서이 STL 스타일은 노력하고 있습니다. 하지만 난 자바 스타일로 다시 작성할 수 없습니다 여기

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; 
     } 
    } 

내가 오류 얻을 - cannot convert parameter 1 from QListIterator<T>' to 'const QMap<Key,T>

+0

내 대답이 문제를 해결 했습니까? – lpapp

답변

1

을 다음과 같이 자바 스타일의 반복자를 사용하는 경우 다음 항목을 얻을 필요가 :

QMapIterator<QString,QString> j(i.next()); //no error