#include #include #include #include #include #include using namespace boost; class A { public: static int version() { return 1; } void save(basic_oarchive& ar) const { ar << i; } int i; }; class T { public: static int version() { return 1; } void save(basic_oarchive& ar) const { for (int i = 0; i < 2; ++i) { // A t = a[i]; ar << a[i]; } } A a[2]; }; int main() { boost::oarchive oa(std::cout); T t; oa << t; std::cout << std::endl; return 0; }