我有一个应用程序,我正在做的一个问题。 我需要使用boost序列化连载一些数据包。 根据该文件,可以使用BOOST_CLASS_EXPORT_KEY
和BOOST_CLASS_EXPORT_IMPLEMENT
分别转换成.HPP和cpp文件,以便能够使用多态基指针来序列派生的类。
因此,这里是我有:
.HPP:containaing我班宣言和finaly的BOOST_CLASS_EXPORT_KEY(mynamespace::mypacket)
的.cpp:包含我的类定义和BOOST_CLASS_EXPORT_IMPLEMENT(mynamespace::mypacket)
一切都正常运行,直到这点,但需要进行序列化时,我得到一个bad_alloc的错误。
我曾角落找寻这个问题通过显式调用方法register_type<mypacket>()
上我需要用归档。
但这里是我的问题:是提振出口*旨在避免调用register_type方法还是我做错了什么? 我有种感觉就像在我的代码做两次同样的工作,但更重要的我没有看到使用导出密钥的任何优势+实施,如果我们还是之后使用register_type上存档!
我读到这里的一些其他职位和其他地方,似乎我不是实验的问题只有一个,但我还没有找到任何答案。