VS 2022 complains with warning C5205 because Provider abstract class defines a non virtual destructor, which may lead to undefined behaviour as objects destruction in ndfrmwrk.cpp use static binding instead of dynamic binding.
Suggested correction :
- To ensure all destructors are called, nedd to change
~Provider(void); to virtual ~Provider(void); in ndprov.h
- Should also comment (or delete)
~NdV1Provider(); and ~NdProvider(); definitions, since these derived constructors are not implemented.
- Finally, suppress AdditionalOptions /Wv:18 added by PR ADD AdditionalOptions Wv:18