所以我创建了一个自定义类并为该类编写了QDataStream重载,这一切都很好;现在我正在尝试为另一个具有QHash<QString,Foo>
数据成员的类做同样的事情,并在尝试将其写入流时遇到错误。我无法序列化包含自定义类的QHash吗?
QDataStream& operator<<(QDataStream& stream, const Bar& bar)
{
//a is a QHash<QString,Foo>
stream << bar.a; //results in no match for operator<< for QDataStream& and const QHash<QString,Foo>
return stream;
}
答案 0 :(得分:1)
原来我没有#include <QDataStream>
包含在源文件中,只是向前声明。包括QDataStream解决了我的问题。