Compile error with QT_STRICT_ITERATORS
Christian Ehrlicher
Ch.Ehrlicher at gmx.de
Sun Oct 19 15:37:42 BST 2008
Thiago Macieira schrieb:
> Thiago Macieira wrote:
>> Christian Ehrlicher wrote:
>>> Hi,
>>>
>>>
>>> This code doesn't compile - neither with msvc nor with gcc 3.4.5
>>> (mingw):
>>>
>>> ----------------------------8<------------
>>> #define QT_STRICT_ITERATORS
>>> #include <QtCore/QHash>
>>>
>>> int main(int, char**)
>>> {
>>> QMultiHash<QString,QString> myHash;
>>> myHash.remove("blub", "blub");
>>>
>>> return 0;
>>> }
>>> ----------------------------8<------------
>>>
>>> Looks like a qt-bug to me or do I miss something?
>> There's no QHash::remove(const Key &, const T &);
>>
>> There's only a one-argument QHash::remove.
>
> Wait, QMultiHash. I missed that.
>
> I see the function there.
>
> But it fails to compile:
> /tmp/multihash/main.cpp:7: instantiated from here
> src/corelib/tools/qhash.h:336: error: 'bool QHash<Key,
> T>::iterator::operator!=(const QHash<Key, T>::const_iterator&) const [with
> Key = QString, T = QString]' is private
> src/troll/qt-4.5/src/corelib/tools/qhash.h:955: error: within this context
>
> Bug in Qt.
>
Thx, will inform qt-bugs tomorrow :)
Christian
More information about the kde-core-devel
mailing list