diff --git a/include/sqlpp11/interpretable.h b/include/sqlpp11/interpretable.h index f2c64f76..b93a897a 100644 --- a/include/sqlpp11/interpretable.h +++ b/include/sqlpp11/interpretable.h @@ -42,8 +42,7 @@ namespace sqlpp using _interpreter_context_t = typename Db::_interpreter_context_t; template - interpretable_t(T t) - : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) + interpretable_t(T t) : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) { } @@ -78,6 +77,7 @@ namespace sqlpp private: struct _impl_base { + virtual ~_impl_base() = default; virtual serializer_context_t& serialize(serializer_context_t& context) const = 0; virtual _serializer_context_t& db_serialize(_serializer_context_t& context) const = 0; virtual _interpreter_context_t& interpret(_interpreter_context_t& context) const = 0; diff --git a/include/sqlpp11/named_interpretable.h b/include/sqlpp11/named_interpretable.h index c83bc9b0..75f798d7 100644 --- a/include/sqlpp11/named_interpretable.h +++ b/include/sqlpp11/named_interpretable.h @@ -41,8 +41,7 @@ namespace sqlpp using _interpreter_context_t = typename Db::_interpreter_context_t; template - named_interpretable_t(T t) - : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) + named_interpretable_t(T t) : _requires_braces(requires_braces_t::value), _impl(std::make_shared<_impl_t>(t)) { } @@ -82,6 +81,7 @@ namespace sqlpp private: struct _impl_base { + virtual ~_impl_base() = default; virtual serializer_context_t& serialize(serializer_context_t& context) const = 0; virtual _serializer_context_t& db_serialize(_serializer_context_t& context) const = 0; virtual _interpreter_context_t& interpret(_interpreter_context_t& context) const = 0;