我试图将名称-值-对功能和Cereal的延迟序列化功能结合使用,但似乎无法使其正常工作。
看起来cereal::defer( CEREAL_NVP( vecOfSharedPtrs ) )
可以在save(Archive& ar) const
函数中工作,生成命名正确的输出,但是在load(Archive& ar)
中编写相同的输出会产生编译错误。
我感觉我用错了,或者它不受支持?
发布于 2020-08-02 07:34:55
我最近也遇到了同样的情况。我相信你不需要在你的load函数中使用cereal::defer
。我已经在下面发布了一个工作摘录。
template <class Archive>
void load(Archive& archive) {
//deserializes components
archive(values);
}
template <class Archive>
void save(Archive& archive) const {
//serializes components
archive(cereal::defer(CEREAL_NVP(values)));
archive.serializeDeferments();
}
https://stackoverflow.com/questions/61307371
复制相似问题