On Thu, 18 Jun 2020 at 19:10, Debabrata Mandal via Boost-users <boost-users@lists.boost.org> wrote: > > Now, fast forwarding to my problem, I want to be able to provide a > sub-histogram based on a few axes of the histogram. The code below, quite > similar to what I want, refuses to work with msvc-14.0 (coming to it shortly). > > ----Sample Code---- > #include <boost/mp11.hpp> > template<typename... T> > struct histogram { > using type_list = boost::mp11::mp_list<T...>; > template<std::size_t... D> > void d() { > // Error in below line > histogram<boost::mp11::mp_at_c<type_list, D>...> f; > } > }; > int main() { > histogram<int, int, int, int> f; > f.d<1,2>(); > return 0; > } > ---END--- > > So, msvc-14.0 gives the error (after tracing to the last function call in > stack) at the position specified above. The error message which is coming > from the AppVeyor logs (since I do not have msvc-14.0) > ... > C:\projects\boost-root\boost/mp11/utility.hpp(53): error C2971: > 'boost::mp11::detail::mp_if_c_impl': template parameter 'C': 'C': a variable > with non-static storage duration cannot be used as a non-type argument > C:\projects\boost-root\boost/mp11/utility.hpp(38): note: see declaration of > 'boost::mp11::detail::mp_if_c_impl' > C:\projects\boost-root\boost/gil/histogram.hpp(247): note: see declaration of > 'C' > ... > > I am not sure if the issue is with mp11 or the msvc-14.0,
For the archive, I'm copying answer from Peter received on the Slack's #boost-user msvc 2015 bug use histogram<boost::mp11::mp_at<type_list, boost::mp11::mp_size_t<D>>...> f; instead Best regards, -- Mateusz Loskot, http://mateusz.loskot.net _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org https://lists.boost.org/mailman/listinfo.cgi/boost-users