remova os underscor`s das variaveis, crie um construtor vazio Pilha(){} e outro recebedo como parametro a acapacidade da pilha que é seu t e setando a sua pilha uma instancia de vetor de tamanho t Pilha(int t){ this->pilha = int pilha[t]}
O this nesse caso não é estritamente necessarios, somente se as variaveis tiverem o mesmo nome, ai é importante não esquecer de usar, hehe.
class pilha{
private:
T * pilha;
int ponteiro = -1;
public:
Pilha<T>(){}
Pilha(int capacidadePilha){
this->pilha = new T[capacidadePilha];
}
}
outra coisa, se você tem uma classe pilha de tipos generico, então você deve ter um vetor tambem de tipo generico, vide código de exemplo.
faça isso e veja se compila!!!