这程序哪里错了?

来源:百度知道 编辑:UC知道 时间:2024/05/16 20:17:56
#include<iostream.h>
template<class T>
class Stack
{
public:
Stack(T sz)
{ v=p=new T[size=sz]; }
void push(T x)
{
*p++=x;
}
T pop()
{
return *--p;
}
int siz() const
{ return *(p-v); }
private:
T *v;
T *p;
int size;
};
void main()
{
Stack aSt(5);
aSt.push(10);
}

#include<iostream.h>

template<class T>
class Stack
{
public:
Stack(T sz)
{ v=p=new T[size=sz]; }
void push(T x)
{
*p++=x;
}
T pop()
{
return *--p;
}
int siz() const
{ return *(p-v); }
private:
T *v;
T *p;
int size;
};
void main()
{
Stack<int> aSt(5); //<<<++++++++++因为你用的是模板,实例化时要说明类型的.
aSt.push(10);
}

倒数第三行错了,改成 Stack<int> aSt(5);
类模版使用要实参表