Ver Fonte

any: destruction support to in_situ-as-dynamic values

Michele Caini há 1 ano atrás
pai
commit
bf66a6cf0e
1 ficheiros alterados com 1 adições e 1 exclusões
  1. 1 1
      src/entt/core/any.hpp

+ 1 - 1
src/entt/core/any.hpp

@@ -98,7 +98,7 @@ class basic_any {
             break;
         case operation::destroy:
             if constexpr(in_situ<Type>) {
-                elem->~Type();
+                (value.mode == any_policy::embedded) ? elem->~Type() : (delete elem);
             } else if constexpr(std::is_array_v<Type>) {
                 delete[] elem;
             } else {