Don't delete variables of void *。
If you want to work with something like Win32 Handles, please provide a custom deleter.
For example:
void HandleDeleter(HANDLE h)
{
if (h) CloseHandle(h);
}
using UniHandle = unique_ptr>;
Then:
UniHandle ptr(..., HandleDeleter);