Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2008-07-16 14:13:41


I"m not sure what the problem is here.

In 1.36 (and the trunk) we've made some alterations and fixed things in this area.

Robert Ramey
  "Dan Thomas" <dan_at_[hidden]> wrote in message news:001201c8e75b$570ae0b0$0202a8c0_at_llanfairfechan...
  Hi

  If I use gcc 3.2.3 (Linux) and Boost 1.35.0 to compile the example program at...
     http://lists.boost.org/boost-users/att-26574/test_serialize.cpp
  ...I get extensive compile errors which I can summarise as:
     <path>/boost_1_35_0/boost/serialization/export.hpp:125:
        `instantiate'
     is not a member of type
        `boost::archive::detail::ptr_serialization_support<boost::archive::text_iarchive, base>'

  These errors do not occur if I use either Boost 1.33.0 or Microsoft Visual Studio.

  The fact that the test program's base class is abstract seems to be central to the problem. The error is eliminated if I remove the BOOST_IS_ABSTRACT(base) statement from the test program. Doing so naturally causes other problems but these are in turn fixed by making "base" concrete i.e. by removing the =0 qualifier from base::get_id() and providing an implementation.

  It looks as if code in Boost 1.35.0 expects all classes to provide an instantiate method, even though the method is not in fact present on classes that have been marked as abstract. Is there any chance of a fix or work-around?

  Many Thanks

  Dan

------------------------------------------------------------------------------

  _______________________________________________
  Boost-users mailing list
  Boost-users_at_[hidden]
  http://lists.boost.org/mailman/listinfo.cgi/boost-users



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net