Anzahl Elemente zwischen zwei STL-Iteratoren einer QMap
Verfasst: 28. April 2011 04:15
Hallo zusammen,
ich habe zwei Stellen in einer QMap<double, double> mittels zweier STL-Style-Iteratoren ermittelt und möchte nun herausfinden, wieviele Elemente dazwischen liegen. Laut Qt-Hilfe (Qt 4.6: Generic Containers -> STL-Style Iterators) geht das, indem die zwei Iteratoren subtrahiert werden:
Mach ich hier was falsch oder ist da ein Fehler in der Qt-Hilfe bzw. gar dem Qt-Code?
Gruß, Spinoza
ich habe zwei Stellen in einer QMap<double, double> mittels zweier STL-Style-Iteratoren ermittelt und möchte nun herausfinden, wieviele Elemente dazwischen liegen. Laut Qt-Hilfe (Qt 4.6: Generic Containers -> STL-Style Iterators) geht das, indem die zwei Iteratoren subtrahiert werden:
Bei mir gibt's dabei jedoch den Fehleri - j Returns the number of items between iterators i and j
Wobei der Code testweise so aussah:/usr/include/qt4/QtCore/qmap.h:343: error: ‘QMap<Key, T>::const_iterator::operator bool() const [with Key = double, T = double]’ is private
mainwindow.cpp:402: error: within this context
Code: Alles auswählen
QMap<double, double> m;
m.insert(1, 1);
m.insert(2, 2);
m.insert(3, 3);
m.insert(4, 4);
QMap<double,double>::const_iterator it1 = m.upperBound(1.5);
QMap<double,double>::const_iterator it2 = --m.lowerBound(3.5);
int n = it2 - it1; // Zeile 402
qDebug() << *it1 << *it2 << n;Gruß, Spinoza