Ciao, avrei bisogno di una mano per quanto riguarda la deallocazione dinamica.
Il problema è il seguente:
ho una funzione che alloca un array di interi e restituisce il puntatore void a quest'array:

codice:
void* crea_array{
int* v = new int[3];//esempio 
return static_cast<void*>(v);
}
Ora, io ho bisogno alla fine di deallocare quest'area ma se faccio qualcosa tipo
codice:
 int* v = static_cast<int*>(puntatore_void);
delete []v
Il programma mi crasha, questo perché (immagino) lui non sa a QUANTI interi punterebbe v.
Come si potrebbe fare per risolvere questo problema?

(ah, prima che mi chiediate qualcosa tipo "perché complicarti la vita così?" vi dico subito che è la traccia di un esercizio di programmazione, perciò deve essere risolta così).