我使用Qt 4.8.7。我有enum Color {red, green, blue}
和QSet<Color>
.我应该如何使用QDataStream
(反(序列化QSet<Color>
?反序列化因自定义类型而失败。除了反序列化之外,我是否应该手动创建序列化(循环 QSet 元素(?我的意思是QSet的内部序列化实现理论上可以由Qt开发人员更改,因此我必须自己编写两个用于序列化/反序列化的循环。
您可以使用以下强制转换进行反序列化,以避免创建手动循环:
data_stream >> reinterpret_cast<QSet<qint32>&>(color_set2);