所以我正在使用 boost::serialization 库,并且我试图覆盖一个类的构造方式,因为它没有默认构造函数。此处演示了这一点。对我来说,该函数似乎接受了class* t
然后将其设置为指向一个新构造的对象。如果我错了,这绝对是我错误的根源。
但是,构造我的类的唯一方法是使用另一个类create()
函数,这意味着我需要偏离示例中的代码(这在 boost::serialization 命名空间中说明):::new(t)my_class(attribute);
我尝试简单地调用 create 函数并设置t
等于返回的指针,但这似乎不起作用,因为在load_construct_data function
, 和之后serialization function
,给定myClass&
的值与我设置的 't' 不同。
我该如何做 ::new(t) 正在做的事情,以便使用 create 函数创建的对象遵循序列化/其他函数?