Mam zadanie domowe zrobić stos obiektowo. Mam w miarę zrobione, ale w mainie mi wyrzuca "po lewej .push musi być typ struct/union" i "wyrażenie musi mieć typ klasy". Piszę w Visual Studio 2017. Może będziecie wiedzieli o co chodzi, dzięki za pomoc.
#include<iostream>
using namespace std;
template<class T>
class StosT
{
private:
T *tablica;
int rozmiar;
public:
StosT()
{
rozmiar = 0;
tablica = new T[rozmiar];
}
void push(T a)
{
tablica[rozmiar++]=a;
}
T pop()
{
if (rozmiar > 0)
return tablica[rozmiar--];
else
cout << "Stos jest pusty\n";
}
bool empty()
{
if (rozmiar == 0)
return 1;
else
return 0;
}
void wyswietl() const
{
cout << "Stos:\n";
for (int i = rozmiar; i > 0; i--)
cout << tablica[i] << endl;
}
int size() const
{
return rozmiar;
}
~StosT()
{
delete tablica;
}
};
int main()
{
StosT <int> s();
s.push(1);
system("pause");
return 0;
}
grzesiek51114grzesiek51114template <class T, class Container = deque<T> > class stack;