QHashに傾倒し、QHashをDataStreamにシリアル化しているときに、次のコードでエラーが発生しました。
typedef QHash <quint32,QString> hashtype1;
typedef QHash <QLocale::Language,hashtype1> hashtype;
hashtype1 hash;
hash.insert(1, "Key1");
hash.insert(2, "Key2");
hashtype hash1;
hash1.insert(QLocale::English, hash);
hash1.insert(QLocale::French, hash);
QByteArray ba;
QByteArray ba1;
QDataStream ds(&ba, QIODevice::ReadWrite);
QDataStream ds1(&ba1, QIODevice::ReadWrite);
ds << hash;
ds1 << hash1;
qDebug() << ds.device()->readAll();
ds.device()->reset();
ds1.device()->reset();
hashtype1 hashcopy;
ds >> hashcopy;
hashtype hash1copy;
ds1 >> hash1copy;
最後のステートメントは、/ usr / include / qt4 / QtCore / qdatastream.h:362というエラーを示しています。エラー:「>>k」の「演算子>>」に一致しません</p>
私はこれを修正することができません..私は何か間違ったことをしていますか?どうすればこれを修正できますか?