Creo que seria bueno tambien que comentaras lo que quieres hacer, a lo que se refiere ese error es que estas mandando un (pointer a un pointer a Pila) a una funcion que que no acepta ese tipo:
Código C++:
Ver originalTipoPila *Pila // Pointer a Pila
InicializarPila(&Pila) // Estas mandando un pointer a
int InicializarPila(TipoPila Stack) // No mencionas para nada TipoPila **Stack que es lo que estas mandando
No se en realidad lo que estes tratando de hacer pero hay otros detalles que debes de considerar, que aun si pusieras:
Código C++:
Ver originalint IniticializarPila(TipoPila **Stack) {
(*Stack)->Top = VACIO;
// Fijate tambien que te va a dar error por que no estas regresando nada y la declaracion dice que regresas un valor tipo int
}
Ah pues si aun si hicieras eso no te funcionaria puesto que en ningun lugar estas creando el struct TipoPila al que quieres que apunte TipoPila, como te decia no se lo que quieras hacer pero aqui esta mi version de lo que yo entendi que quieres hacer:
Código C++:
Ver original#include <iostream.h>
#include <conio.h>
#define MAX 3
#define VACIO -1
typedef int TipoTope;
typedef char TipoElem;
typedef struct TipoPila {
TipoTope Tope;
TipoTope Stack;
TipoElem Elementos[MAX];
};
int InicializarPila(TipoPila *Stack);
int PilaVacia(TipoPila Stack);
int PilaLlena(TipoPila Stack);
int main () {
TipoPila Pila;
int opcion;
TipoElem Elem;
InicializarPila(&Pila);
opcion = 0;
switch (opcion) {
case 1 :
InicializarPila(&Pila);
std::cout << "Pila inicializada ...";
break;
}
return 0;
}
int InicializarPila(TipoPila *Stack) {
Stack->Tope = VACIO;
return 0;
}