Hi all, I just cannot understand why the following code fails to compile. I have read the help files, did my Google, stared at it for hours, etc. But I cannot make sense. It compiles to the following message. Any ideas will be appreciated, --Hector C. ----MESSAGE---- // if your program traps here, it indicates taht your doing one of the following: // a) serializing an object of a type marked "track_never" through a pointer. // b) saving an non-const object of a type not markd "track_never) // Either of these conditions may be an indicator of an error usage of the // serialization library and should be double checked. See documentation on // object tracking. --END MESSAGE-- ----CODE---- #include <iomanip> #include <iostream> #include <fstream> #include <string> #include <boost/archive/text_iarchive.hpp> #include <boost/archive/text_oarchive.hpp> #include <boost/serialization/base_object.hpp> #include <boost/serialization/utility.hpp> #include <boost/serialization/list.hpp> using namespace std; class A { public: string m; A(){}; private: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & m; } }; int main(int argc, char * argv[]) { A a; { ofstream off("test.txt"); boost::archive::text_oarchive oa(off); //Uncommenting any of the following lines //produces compilation errors //oa << a; //oa << (const A) a; } return 0; } ---END CODE--- ---------------------------------- ____________________________________________________________________________________ Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting