diff options
author | Olivier Goffart <olivier.goffart@nokia.com> | 2010-05-28 12:41:27 (GMT) |
---|---|---|
committer | Olivier Goffart <olivier.goffart@nokia.com> | 2010-05-28 13:46:03 (GMT) |
commit | 881746fd74d475265e442a1dc02b32ddb6c2d898 (patch) | |
tree | b4f6b9659a0c9cfc11fccf3eb4f622a6bf0d3c85 | |
parent | 8e8844a1d3e9be22f84ef2b22312dd261a911092 (diff) | |
download | Qt-881746fd74d475265e442a1dc02b32ddb6c2d898.zip Qt-881746fd74d475265e442a1dc02b32ddb6c2d898.tar.gz Qt-881746fd74d475265e442a1dc02b32ddb6c2d898.tar.bz2 |
QMultiMap/QMultiHash: must qualify identifier to find this declaration in dependent base class
This is required as some compiler such as clang or rvct
respect the standard more than gcc
Reviewed-by: thiago
Reviewed-by: hjk
-rw-r--r-- | src/corelib/tools/qhash.h | 9 | ||||
-rw-r--r-- | src/corelib/tools/qmap.h | 9 |
2 files changed, 4 insertions, 14 deletions
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index 05eae42..1d206ce 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -927,7 +927,7 @@ public: { return QHash<Key, T>::insertMulti(key, value); } inline QMultiHash &operator+=(const QMultiHash &other) - { unite(other); return *this; } + { this->unite(other); return *this; } inline QMultiHash operator+(const QMultiHash &other) const { QMultiHash result = *this; result += other; return result; } @@ -1002,12 +1002,7 @@ Q_INLINE_TEMPLATE int QMultiHash<Key, T>::remove(const Key &key, const T &value) typename QHash<Key, T>::iterator end(QHash<Key, T>::end()); while (i != end && i.key() == key) { if (i.value() == value) { -#if defined(Q_CC_RVCT) - // RVCT has problems with scoping, apparently. - i = QHash<Key, T>::erase(i); -#else - i = erase(i); -#endif + i = this->erase(i); ++n; } else { ++i; diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h index 4679812..75e73f2 100644 --- a/src/corelib/tools/qmap.h +++ b/src/corelib/tools/qmap.h @@ -953,7 +953,7 @@ public: { return QMap<Key, T>::insertMulti(key, value); } inline QMultiMap &operator+=(const QMultiMap &other) - { unite(other); return *this; } + { this->unite(other); return *this; } inline QMultiMap operator+(const QMultiMap &other) const { QMultiMap result = *this; result += other; return result; } @@ -1028,12 +1028,7 @@ Q_INLINE_TEMPLATE int QMultiMap<Key, T>::remove(const Key &key, const T &value) typename QMap<Key, T>::iterator end(QMap<Key, T>::end()); while (i != end && !qMapLessThanKey<Key>(key, i.key())) { if (i.value() == value) { -#if defined(Q_CC_RVCT) - // RVCT has problems with scoping, apparently. - i = QMap<Key, T>::erase(i); -#else - i = erase(i); -#endif + i = this->erase(i); ++n; } else { ++i; |