diff --git a/include/boost/type_traits/composite_traits.hpp b/include/boost/type_traits/composite_traits.hpp index d7b4f69..340c062 100644 --- a/include/boost/type_traits/composite_traits.hpp +++ b/include/boost/type_traits/composite_traits.hpp @@ -141,20 +141,21 @@ template - no_type is_array_helper(T*const volatile*, const volatile void*); + yes_type is_array_helper(const volatile void*, const volatile void*, void (*)(T x[])); + template + no_type is_array_helper(T*const volatile*, const volatile void*, void (*)(T x[])); no_type BOOST_TT_DECL is_array_helper(...); } // namespace detail template struct is_array { private: - static T t; + static T t; public: BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_and< - (1 == sizeof(detail::is_array_helper(&t, t))), + (1 == sizeof(detail::is_array_helper(&t, t, (void(*)(T))0))), ::boost::type_traits::ice_not< ::boost::detail::is_reference_or_const_volatile::value>::value, ::boost::type_traits::ice_not<