我正在编写序列化和反序列化方法,我在deserialize
的实现中遇到了一个问题:我不能new
一个value_type
,实际上是{{1} }}
Skill*
我该怎么做这个工作?
答案 0 :(得分:1)
假设ElementType
有默认构造函数,那么
*ite = new ElementType;
它ElementType
已经是一个指针类型,那么你可能需要它(C ++ 11):
#include <type_traits>
*ite = new typename std::remove_pointer<ElementType>::type;
如果您没有C ++ 11支持,则可以使用boost
等效项。