diff --git a/src/pugixml.cpp b/src/pugixml.cpp index 40acb64..8ac5627 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -5543,9 +5543,9 @@ namespace } } - template void delete_xpath_variable(xpath_variable* var) + template void delete_xpath_variable(T* var) { - static_cast(var)->~T(); + var->~T(); global_deallocate(var); } @@ -5554,19 +5554,19 @@ namespace switch (type) { case xpath_type_node_set: - delete_xpath_variable(var); + delete_xpath_variable(static_cast(var)); break; case xpath_type_number: - delete_xpath_variable(var); + delete_xpath_variable(static_cast(var)); break; case xpath_type_string: - delete_xpath_variable(var); + delete_xpath_variable(static_cast(var)); break; case xpath_type_boolean: - delete_xpath_variable(var); + delete_xpath_variable(static_cast(var)); break; default: