Boost logo

Boost Users :

From: Marcin Tustin (mt_at_[hidden])
Date: 2005-06-09 05:14:51


        I'm using a recent (a few days old) cvs version of boost, and
the serialization libraries, and Visual Studio 7.1 is producing the
error below. This is only happening to classes which I am exporting
(like BOOST_CLASS_EXPORT_GUID(D2::Message,"D2::Message");). The reason I
am exporting them is that they are in many cases a) subclasses of each
other b) accessed through a pointer. Any help would be deeply
appreciated.

My code is:

      template<class Archive >
      static void serialize(Archive & ar, D2::Message& g, const unsigned
int version)
      {
         ar & g.getType(); // an int - error complains about this line.
         ar & g.getSender(); // a string
         ar & g.getMessage(); // a string
      }

Error message:

c:\D2\API\NewClient\EnhancedMessageHandler.h(132) : error C2679: binary
'&' : no operator found which takes a right-hand operand of type
'uint32' (or there is no acceptable conversion)
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\serialization.hpp(
140) : see reference to function template instantiation 'void
boost::serialization::serialize<Archive>(Archive &,D2::Message &,const
unsigned int)' being compiled
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,IplJrsMediaTimePoint>::tail,IplJrsMediaTimePoint>:
:head
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\archive\detail\iserializer.hpp(1
61) : see reference to function template instantiation 'void
boost::serialization::serialize_adl<Archive,T>(Archive &,T &,const
unsigned int)' being compiled
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,IplJrsMediaTimePoint>::tail,IplJrsMediaTimePoint>:
:head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\extended_type_info
_typeid.hpp(71) : while compiling class-template member function 'void
boost::archive::detail::iserializer<Archive,T>::load_object_data(boost::
archive::detail::basic_iarchive &,void *,const unsigned int) const'
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\archive\detail\iserializer.hpp(1
72) : see reference to class template instantiation
'boost::archive::detail::iserializer<Archive,T>' being compiled
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\archive\detail\iserializer.hpp(1
71) : while compiling class-template member function 'const
boost::archive::detail::basic_iserializer
&boost::archive::detail::pointer_iserializer<T,Archive>::get_basic_seria
lizer(void) const'
        with
        [
            T=D2::Message,
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\archive\detail\iserializer.hpp(5
01) : see reference to class template instantiation
'boost::archive::detail::pointer_iserializer<T,Archive>' being compiled
        with
        [
            T=D2::Message,
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(78) :
see reference to function template instantiation 'const
boost::archive::detail::basic_pointer_iserializer
&boost::archive::detail::instantiate_pointer_iserializer<Archive,T>(Arch
ive *,T *)' being compiled
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(74) :
while compiling class-template member function 'void
boost::archive::detail::export_impl::archive<Archive,T>::i::invoke(void)
'
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(105) :
see reference to class template instantiation
'boost::archive::detail::export_impl::archive<Archive,T>::i' being
compiled
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(89) :
while compiling class-template member function 'void
boost::archive::detail::export_impl::archive<Archive,T>::instantiate(voi
d)'
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(116) :
see reference to class template instantiation
'boost::archive::detail::export_impl::archive<Archive,T>' being compiled
        with
        [
 
Archive=boost::archive::detail::export_impl::for_each_archive<boost::arc
hive::detail::export_impl::for_each_archive<boost::archive::detail::know
n_archive_types::type,D2::Message>::tail,D2::Message>::head,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(115) :
while compiling class-template member function 'void
boost::archive::detail::export_impl::for_each_archive<ASeq,T>::instantia
te(void)'
        with
        [
 
ASeq=boost::archive::detail::export_impl::for_each_archive<boost::archiv
e::detail::known_archive_types::type,D2::Message>::tail,
            T=D2::Message
        ]
 
C:\boost\boost-cvs-20050606\boost\boost\serialization\export.hpp(122) :
see reference to class template instantiation
'boost::archive::detail::export_impl::for_each_archive<ASeq,T>' being
compiled
        with
        [
 
ASeq=boost::archive::detail::export_impl::for_each_archive<boost::archiv
e::detail::known_archive_types::type,D2::Message>::tail,
            T=D2::Message
        ]

Marcin Tustin
IT Innovation Centre
2 Venture Road
Chilworth Science Park
Southampton, SO16 7NP, UK

tel: +44 23 8076 0834
fax: +44 23 8076 0833

mailto:mt_at_[hidden]
http://www.it-innovation.soton.ac.uk


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