Hello!
My name is Ariel and this is my first time with boost. I spent a few
days looking arround the serialization library, and right now I have a
project with my first serialized classes.
I spent some time reading the documentation and the tutorial. I am
having problems serializing pointers. I am trying to serialize a const
char* and it seems that doesn't work in the trivial way.
This is my code:
//-----------------------------------------------------------------------------
//
myserializeclass.h
//-----------------------------------------------------------------------------
#include
<fstream>
#include
<boost/archive/binary_iarchive.hpp>
#include
<boost/archive/binary_oarchive.hpp>
#include
<boost/serialization/base_object.hpp>
//-----------------------------------------------------------------------------
class
MySerializeClass
{
private:
friend class
boost::serialization::access;
template<class
Archive>
void serialize(Archive & ar, const unsigned int
uiVersion)
{
ar & m_pChar;
}
// members to serialize
public:
char*
m_pChar;
};
//-----------------------------------------------------------------------------
BOOST_CLASS_TRACKING(MySerializeAbstractBase,
::boost::serialization::track_never)
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//
myserializeclass.cpp
//-----------------------------------------------------------------------------
int
main()
{
MySerializeClass
MySerializeClassObject;
std::ofstream
ofs(akFilename);
boost::archive::binary_oarchive
oa(ofs);
oa << MySerializeClassObject;
return
0;
}
//-----------------------------------------------------------------------------
It doesn't compile. I get the following error:
1>c:\program files\microsoft visual studio
8\vc\platformsdk\include\boost\serialization\access.hpp(109) : error
C2228: left of '.serialize' must have class/struct/union
I know that this is my mistake, but I don't know how to fix it ;). I
know that there is a lot of consideration about pointer serialization.
Could you point me in the right direction?
Thanks in advance!
Ariel