diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index ccbe95f..0366e1c 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -584,9 +584,9 @@ namespace boost { typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c< boost::detail::extract_char_traits::value, - BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits::trait_t, - BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits::trait_t - >::type traits; + BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits, + BOOST_DEDUCED_TYPENAME boost::detail::extract_char_traits + >::type::trait_t traits; typedef boost::type_traits::ice_and< boost::is_same::value, // source is not a wide character based type @@ -653,7 +653,7 @@ namespace boost { BOOST_STATIC_ASSERT(!std::numeric_limits::is_signed); #endif - typedef typename Traits::int_type int_type; + typedef BOOST_DEDUCED_TYPENAME Traits::int_type int_type; CharT const czero = lcast_char_constants::zero; int_type const zero = Traits::to_int_type(czero); BOOST_DEDUCED_TYPENAME boost::mpl::if_c<