hi all,

    i am facing some problem in my code. Please help me to tackle it.

BOOST Version : 1.36.0
compliler  : gnu-gcc-/4.1.1-binutils-2.16.1/x86_64-pc-linux2.4/bin/gcc


example of my prog:
 
header:  

my.h
----
class my
{

    int var1;
    int var2;
    structure object; // structure is the some other structure which is defined(i have defied the serialization function for this also...

/*serialization function*/

    friend class boost::serialization::access;
    template<class Archive>
    void serialize(Archive & ar, const unsigned int file_version)
    {
        ar & var1;
        ar & var2;
        ar & object;
    }



};


mymain.cpp
----------
#include "boost/archive/text_iarchive.hpp"
#include "boost/archive/text_oarchive.hpp"
#include "boost/serialization/access.hpp"
#include "boost/serialization/serialization.hpp"
#include "boost/serialization/collection_traits.hpp"
#include "boost/serialization/utility.hpp"


#include "my.h"


class mymain
{

protected:

      my * ptr;

public:
void mytake_arch();

void myretrive_arch();

};

void mymain::mytake_arch()
{
std::ofstream  ofs("filename");
        
        {    
            
            boost::archive::text_oarchive oa(ofs);
            oa << ptr;
        }
}

void mymain::myretrive_arch()
{
            mymain *ptr = NULL; //// Confused in this, This is correct or wrong, if wront what else i can use
            std::ifstream ifs("filename");
            boost::archive::text_iarchive ia(ifs);
            ia >> ptr;
}

int main()
{


mymain obj;

obj.mytake_arch();
obj.myretrive_arch();

}

Problem:
-------

    I have some confusion in retriving, Whether the way in which i retrieved is correct or wrong. Any other replacement or modification can be done for the retriving part(myretrive_arch() function). Please let me know. because the retrived ptr(pointer retrived) causes segmentation fault whenenver i use it for some other application.




Any suggestions will be apprciated.


Thanks,
Niranjan