In file included from MyDerived.cpp:2:0: /usr/include/boost/type_traits/is_virtual_base_of.hpp: In instantiation of ‘boost::detail::is_virtual_base_of_impl >::Y’: /usr/include/boost/type_traits/is_virtual_base_of.hpp:70:5: instantiated from ‘const bool boost::detail::is_virtual_base_of_impl >::value’ /usr/include/boost/type_traits/is_virtual_base_of.hpp:78:4: instantiated from ‘const bool boost::detail::is_virtual_base_of_impl2::value’ /usr/include/boost/type_traits/is_virtual_base_of.hpp:87:1: instantiated from ‘boost::is_virtual_base_of’ MyDerived.cpp:9:56: instantiated from here /usr/include/boost/type_traits/is_virtual_base_of.hpp:64:8: error: conflicting return type specified for ‘boost::detail::is_virtual_base_of_impl >::Y::Y() [with Base = MyBase, Derived = MyDerived]’ MyDerived.cpp:5:5: error: overriding ‘virtual int MyDerived::Y()’