Tengo esta estructura y esta función, iniciando mi puntero de tipo Nodo en NULL:
struct Nodo{
int dato;
Nodo *siguiente;
};
Nodo *tope=NULL;
void agregarNodo(Nodo *tope, int dato){
Nodo *nuevoNodo = new Nodo();
nuevoNodo->dato= dato;
nuevoNodo->siguiente=tope;
tope=nuevoNodo;
}
Compila, pero no se amarran mis punteros, osea que cuando vuelvo a llamar la funcion para agregar otro nuevo nodo a la pila, el puntero *tope vuelve a valer null o cero en vez de sostener la direccion del nodo que se creo anteriormente.
No deberia pasar esto ya que *tope deberia mantener la direccion de memoria del nodo anterior gracias a este amarre:
nuevoNodo->siguiente=tope;
tope=nuevoNodo;