diff --git a/include/boost/exception/exception.hpp b/include/boost/exception/exception.hpp index 96cd893..4d1a0ad 100644 --- a/include/boost/exception/exception.hpp +++ b/include/boost/exception/exception.hpp @@ -412,16 +412,17 @@ boost public T, public clone_base { - public: - - explicit - clone_impl( T const & x ): + struct clone_tag { }; + clone_impl( clone_impl const & x, clone_tag ): T(x) { copy_boost_exception(this,&x); } - clone_impl( clone_impl const & x ): + public: + + explicit + clone_impl( T const & x ): T(x) { copy_boost_exception(this,&x); @@ -436,7 +437,7 @@ boost clone_base const * clone() const { - return new clone_impl(*this); + return new clone_impl(*this,clone_tag()); } void