code compiler the following alteration must be made:
<pre><code>
    template<class Archive>
    void serialize(Archive & ar, const unsigned int version){
        //ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Base);
        ar & boost::serialization::make_nvp(
            "Base",
            static_cast&lt;Base &&gt;(*this)
        );
    }
</code></pre>
With this change the program will now compile.
<p>
If we made one of the functions of <code>Base></code> <code>virtual</code>
in order to use the "export" fun