diff --git a/include/boost/type_traits/conversion_traits.hpp b/include/boost/type_traits/conversion_traits.hpp index c94a4a6..3d640a5 100644 --- a/include/boost/type_traits/conversion_traits.hpp +++ b/include/boost/type_traits/conversion_traits.hpp @@ -200,6 +200,12 @@ public: void foo(); // avoid warning about all members being private }; +#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +// A definition is required even for integral static constants +template +const bool is_convertible::value; +#endif + #ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template struct is_convertible diff --git a/include/boost/type_traits/same_traits.hpp b/include/boost/type_traits/same_traits.hpp index 5c9fef1..6cc4228 100644 --- a/include/boost/type_traits/same_traits.hpp +++ b/include/boost/type_traits/same_traits.hpp @@ -41,6 +41,15 @@ template struct is_same { BOOST_STATIC_CONSTANT(bool, value = true); }; +#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +// A definition is required even for integral static constants +template +const bool is_same::value; + +template +const bool is_same::value; +#endif + #else // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION #ifdef BOOST_MSVC