请问建立一个 一对多的映射,使用了QMultiHash,全局的qHash怎么写?
重载了==运算符后,报错,主要不会qHash,也不明白。
补充:我所写的key和T都是两个结构体。
使用insertMulti
1> main.cpp
1>d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(111): error C2665: “qHash”: 17 个重载中没有一个可以转换所有参数类型
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(63): 可能是“uint qHash(char,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(64): 或 “uint qHash(uchar,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(65): 或 “uint qHash(signed char,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(66): 或 “uint qHash(ushort,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(67): 或 “uint qHash(short,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(68): 或 “uint qHash(uint,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(69): 或 “uint qHash(int,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(70): 或 “uint qHash(ulong,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(78): 或 “uint qHash(long,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(79): 或 “uint qHash(quint64,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(87): 或 “uint qHash(qint64,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(88): 或 “uint qHash(QChar,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(89): 或 “uint qHash(const QByteArray &,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(90): 或 “uint qHash(const QString &,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(91): 或 “uint qHash(const QStringRef &,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(92): 或 “uint qHash(const QBitArray &,uint) throw()”
1> d:\qt\qt5.1.1\5.1.1\msvc2010\include\qtcore\qhash.h(93): 或 “uint qHash(QLatin1String,uint) throw()”
.
.
.