Olá galera, estou desenvolvendo uma pilha em c++, criei uma classe chamada Pilha, e criei o método pilha passando como parâmetros a pilha e os dados que serão armazenados na pilha, porém, estou passando como parâmetro a pilha como ponteiro e na minha main() estou chamando a pilha passando o & contudo, sempre quando coloco deste modo no momento da compilação aparece a mensagem no matching function for call to. já tentei colocar ponteiro de ponteiro mais mesmo assim dá um erro.
Alguém ai pode me dá um ajudinha.
o método que estou criando para empilhar é:
void empilhar (PILHA *pilha, DADOS dados){ //Os dados passados aqui tem uma estrutura para eles
NO_PILHA *novo = (NO_PILHA*) malloc (sizeof(NO_PILHA));
if(novo == NULL)
cout << "NOVA PILHA CRIADA COM SUCESSO" << endl;
else{
novo->conteudo = dados;
cout << "OI 2" << endl;
pilha->topo = novo;
cout << "OI 1" << endl;
novo->prox = pilha->topo;
cout << "Testando, inserido com sucesso" << endl;
}
};
Na main(), estou chamando deste modo:
Pilha *pil = new Pilha(); //Criando objeto pilha
PILHA *pilha = NULL; //Declarando a pilha na main
pil->empilhar(&pilha, conteudos); //Chamando a função para empilhar