The definition of the operator is defined here.
void operator delete(void*) throw(); void operator delete[](void*) throw();
'operator delete' takes the value 'void *', since a pointer to any object can be converted to 'void *'.
Note that void is an incomplete type and therefore is not allowed to delete void * ie
char *p = new char; void *pv = p; delete pv;
Footnote 78: This means that an object cannot be deleted using a pointer of type void *, because void is not an object type.
In the case where playerarray is a pointer to an array of players, you will most likely want to do it differently. delete pplayer does not do what you want.
source share