序列化包含自定义类的QHash

时间:2015-10-10 00:45:20

标签: c++ qt

所以我创建了一个自定义类并为该类编写了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;
}

1 个答案:

答案 0 :(得分:1)

原来我没有#include <QDataStream>包含在源文件中,只是向前声明。包括QDataStream解决了我的问题。