1 Mar
2008
1 Mar
'08
4:46 a.m.
I've improved my solution by: ============================================================== template<class F> void testEnum(const F & f) { BOOST_STATIC_ASSERT(!boost::is_enum<boost::function_traits<boost::remove_pointer<F>::type
::result_type >::value); }
template<void (*)()> struct Dummy { static const bool value = true; }; template <typename ContractType> class C { private: static void verify() { testEnum(&ContractType::st1); testEnum(&ContractType::st2); } BOOST_STATIC_ASSERT(Dummy<&C::verify>::value); }; ============================================================== So the problem I noticed is solved.