Tu poner dato no funciona correctamente, ademas de que para ser una pila estas usando demasiados enlaces (punteros.)
Tu pila solo deberia tener un puntero al siguiente elemento...
Código C:
Ver originalvoid Pila::ponerDato(int Dato)
{
struct Nodo *nuevo=new(struct Nodo)
nuevo->campo=Dato;
nuevo->siguiente=inicio;
inicio = nuevo;
indicePila++;
}
Código C:
Ver originalint Pila::obtenerDato()
{
int valor = -1;
struct Nodo * aux;
if(inicio != NULL)
{
valor=inicio->campo;
aux = inicio;
inicio = inicio->siguiente;
delete aux;
indicePila--;
}
return valor;
}