我有一个函数,它返回一个 const& 给一个对象。比方说,
class Y {
private:
Id id;
public:
Id const& GetId() const;
}
现在这个 Y 对象是另一个类的一部分,比如说 X 类,它需要被 boost 序列化。
class X {
template <class Archive>
void serialize(Archive& ar, uint32 version)
{
ar & y->GetId();
}
Y y;
}
但是,boost 对此抱怨并给出错误:
error C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
C:\Users\Y.h(580) : see reference to function template instantiation 'Archive &boost::archive::detail::interface_iarchive<Archive>::operator &<const Id>(T &)' being compiled
with
[
如何序列化 Id?