オブジェクトに const& を返す func があります。言ってみましょう、
class Y {
private:
Id id;
public:
Id const& GetId() const;
}
この Y オブジェクトは別のクラス、たとえばクラス X の一部であり、ブーストによってシリアル化する必要があります。
class X {
template <class Archive>
void serialize(Archive& ar, uint32 version)
{
ar & y->GetId();
}
Y y;
}
ただし、ブーストはこれについて不平を言い、エラーを出します:
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をシリアル化するにはどうすればよいですか?