
### mwcc Compiler: # In: ..\..\..\boost\type_traits\is_convertible.hpp # From: tricky_function_type_test.cpp # -------------------------------------- # 158: ); # Error: ^ # function call '_m_check({lval} void (), int)' does not match # 'boost::detail::is_convertible_basic_impl<void (&)(), boost::detail::int_convertible>::_m_check(boost::detail::any_conversion, ...)' (static) # 'boost::detail::is_convertible_basic_impl<void (&)(), boost::detail::int_convertible>::_m_check(boost::detail::int_convertible, int)' (static) # (point of instantiation: 'main()') # (instantiating: 'boost::is_enum<void ()>') # (instantiating:
I don't see any way around that unfortunately: the function call should be deduced to work OK: it does on EDG and gcc compilers, and ultimately all the possible implementations use either this method or the current one (or trivial variations). Is there any other way to work around the original problem? John.