#include #include #include namespace some_namespace { class base_class { public: base_class & operator=(const base_class &){ throw int(); } virtual ~base_class() {} }; class class_without_default_ctor : public base_class { public: char data; explicit class_without_default_ctor(char arg) : data(arg) {} }; } int main() { BOOST_TEST_TRAIT_FALSE((boost::has_nothrow_default_constructor)); return boost::report_errors(); }