diff --git a/include/boost/fusion/container/vector/detail/value_at_impl.hpp b/include/boost/fusion/container/vector/detail/value_at_impl.hpp index 3d748afd..7d134054 100644 --- a/include/boost/fusion/container/vector/detail/value_at_impl.hpp +++ b/include/boost/fusion/container/vector/detail/value_at_impl.hpp @@ -47,7 +47,7 @@ namespace boost { namespace fusion struct apply { typedef typename boost::remove_cv::type seq; - typedef decltype(seq::template value_at_impl(boost::declval())) type; + typedef typename decltype(seq::template value_at_impl(boost::declval()))::type type; }; }; } diff --git a/include/boost/fusion/container/vector/vector.hpp b/include/boost/fusion/container/vector/vector.hpp index fb6a6f8b..845a019e 100644 --- a/include/boost/fusion/container/vector/vector.hpp +++ b/include/boost/fusion/container/vector/vector.hpp @@ -272,7 +272,7 @@ namespace boost { namespace fusion template static BOOST_FUSION_GPU_ENABLED - U value_at_impl(store*); + mpl::identity value_at_impl(store*); }; template