A pointer can be implicitly cast to void *
because it void *
is a shared pointer. However, void **
it is not a generic pointer to pointer.
C FAQ 4.9 explains why there is no generic pointer to pointer type in C, I think this applies to C ++ as well.
source
to share