Hola a todos, tengo un problema y es que el compilador no me reconoce la funcion miembro de mi plantilla de clase.
Me sale el siguiente error:
request for member `tamanio' in `pila1', which is of non-class type `Pila<int, 5> ()()'
La verdad no lo entiendo.
Mis códigos van así:
El encabezado de "pila.h"
Código C++:
Ver original#ifndef PILA_H
#define PILA_H
template <typename T, int TAM>
class Pila{
public:
Pila();
int insertar(T );
int sacar(T *);
int existeElemento(T );
int estaLlena();
int estaVacia();
int tamanio();
T operator=(T &);
T operator+(T &);
T operator+=(T &);
private:
int tam_pila;
T arreglo_pila[TAM];
};
#endif
Las definiciones en "pila.c"
Código C++:
Ver original#include <iostream>
#include "pila.h"
template <typename T, int TAM>
Pila<T, TAM>::Pila(){
tam_pila = 0;
arreglo_pila = NULL;
}
template <typename T, int TAM>
int Pila<T, TAM>::tamanio(){
return tam_pila;
}
y la funcion main()
Código C++:
Ver original#include <iostream>
#include "pila.h"
using std::cout;
using std::endl;
int main()
{
Pila<int, 5> pila_enteros;
cout << "El tamanio es: " << pila_enteros.tamanio() << "\n";
return 0;
}
Espero me puedan ayudar a solucionar mi problema
Gracias!