Boost logo

Boost Users :

From: Olivier Vanden Bos (olivier.vanden-bos_at_[hidden])
Date: 2005-05-10 12:38:13

I think there have been a lot of discussion about this,

It might been related to the template serialization traits in the
documentation , but the explanation was a little to subtle for me, \


In fact, I cannot really understand how to avoid

The unregistered exception when I use a template like this.



// template declaration pseudo code


Class A


            Virtual ~A(){};

            template<class Archive> void serialize(Archive & ar, const
unsigned int version){};



Template <T> Class B : public A


T Object;


            B(T& _object)





            template<class Archive> void serialize(Archive & ar, const
unsigned int version)


            Ar & Object;





//Main Code


Vector<A*> array;


Template<T> void Add(T& val)


      B<T>* objectToAdd= new B<T>(val)




//User code






And when i archive the array in another .cpp the exception is raised,

the class B<int> as not been exported.


I would like to avoid explicitly declare


For each instanciation of B<> somewhere in the global space.

In the Add() or in the template declaration that s ok, but I cannot
suppose what types that the user will use.


Thanks in advance..


- VDB -
 "LNK2019: unresolved external symbol"
 Olivier Vanden Bos MSN#TheVdeub_at_[hidden]
 AI Programmer
 UBISOFT Montreal





Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at