diff options
Diffstat (limited to 'boost/lexical_cast.hpp')
-rw-r--r-- | boost/lexical_cast.hpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/boost/lexical_cast.hpp b/boost/lexical_cast.hpp index dc3d7e3fb7..a880c0cd9c 100644 --- a/boost/lexical_cast.hpp +++ b/boost/lexical_cast.hpp @@ -30,19 +30,20 @@ #include <boost/range/iterator_range_core.hpp> #include <boost/lexical_cast/bad_lexical_cast.hpp> #include <boost/lexical_cast/try_lexical_convert.hpp> +#include <boost/utility/value_init.hpp> namespace boost { template <typename Target, typename Source> inline Target lexical_cast(const Source &arg) { - Target result; + boost::value_initialized<Target> result; - if (!boost::conversion::detail::try_lexical_convert(arg, result)) { + if (!boost::conversion::detail::try_lexical_convert(arg, get(result))) { boost::conversion::detail::throw_bad_cast<Source, Target>(); } - return result; + return get(result); } template <typename Target> |