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