Void e' il tipo
nullo per il sistema dei tipi del C/C++, un po' come lo 0 per la somma o l'1 per la moltiplicazione.
Se ti serve un puntatore
generico, quindi
non di tipo intero, char, ecc, il suo tipo sara'
void *.
Ora, tu hai due variabili A e B di tipo T, diciamo
a e
b.
Come si scambiano i valori?
T t = a;
a = b;
b = t;
Ora, come si fa per passare una variabile ad una funzione in modo che questa la possa cambiare?
void f(T* p)
{
*p = 6;
}
...
a = 5;
f(&a);
quanto vale
a, dopo la chiamata di
f(&a) ?
Ok, ora metti tutto assieme ... ed ecco la soluzione!
Ovviamente ti ho dato solo i ragionamenti spiccioli.
Devi applicarti un po' per fare il ragionamento complessivo e capire perche'
usare
void **