Una implementación muy sencilla, pero poco astuta(naive, ingenua) es sacar cada elemento, y pushearlo en otra pila, así le darás la vuelta a la pila.
Después sacas otra vez cada elemento de la nueva pila y pusheas el elemento en 2 pilas nuevas. Supongo que te refieres a pilas LIFO, con FIFO funcionaría pero podría eliminarse el primer bucle, o sea, tal como está vale para ambas.
PILA pila_auxiliar = PILA();
PILA pila_copia = PILA();
while(!pila.esVacia()) {
void *elemento = pila.pop();
pila_auxiliar.push(elemento);
}
while(!pila_auxiliar.esVacia()) {
void *elemento = pila_auxiliar.pop();
pila.push(elemento);
pila_copia.push(elemento);
}