Boost logo

Boost Users :

From: Marc Viala (mviala_at_[hidden])
Date: 2007-08-22 11:58:35


I've downloaded recently the version Boost 1.34.1 and performed some
tests on ours applications integrating Boost components.
 
During theses tests, I've tried to deserialize some XML archives
generated w/ Boost 1.33.1 including some boost::optional<> instances and
I've observed that the Visual C++ 7.1 IDE emits run-time checks in the
load<boost::optional<>>() @ line 60 in file
boost/serialization/optional.hpp.
 
template<class Archive, class T>
void load(
    Archive & ar,
    boost::optional<T> & t,
    const unsigned int /*version*/
){
    bool tflag;
    ar >> boost::serialization::make_nvp("initialized", tflag);
    if (tflag){
        unsigned int v;
        if(3 < ar.get_library_version()){
            ar >> make_nvp("item_version", v);
        }
        detail::stack_construct<Archive, T> aux(ar, v);
                   ^^^^^^^^^^^^^^^^^^^^^^^^
Here Run-Time Check Failure #3 - The variable 'v' is being used without
being defined.
 
        ar >> boost::serialization::make_nvp("value", aux.reference());
        t.reset(aux.reference());
    }
    else {
        t.reset();
    }
}
 
Is it possible to avoid this run-time check by a preinitialisation of
the local variable "v"? Is it a Bug?
 
Best regards,
 
Used Configurations:
Windows XP
         Boost 1.34.1 (through Boost Installer w/ DLL libraries)
 
Marc Viala
 



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net