Vos no queres algo asi?
void setnewptr( void* &old , void* &New){ //tomo referencias a puntero
if ( old != NULL )
free (old);
old=New;
}
//y se usa:...
void* p_viejo = ... ;
void* p_nuevo = ... ;
setnewptr(p_viejo,p_nuevo);
Otra forma es:
void setnewptr( void** old , void** New){//tomo puntero a puntero
if ( *old != NULL )
free (*old);
*old=*New;
}
//y se usa:...
void* p_viejo = ... ;
void* p_nuevo = ... ;
setnewptr(&p_viejo,&p_nuevo); //notece q lo que paso por parametro es un puntero a puntero
Y la q mas me gusta:
template<class T>
void setnewptr( T* &old , T* &New){ //tomo referencias a puntero, pero ahora no hacen falta casteos a void*...
if ( old != NULL )
free (old);
old=New;
}
//y se usa:...
Tipo1* p_viejo = ... ;
Tipo1* p_nuevo = ... ;
setnewptr(p_viejo,p_nuevo); //no me fije si compila, pero debe compilar, el compilador solo puede inferir el tipo...