看看这个代码错哪了感谢
#include
using namespace std;
/********************************************************/
const int StackSize=10;
template<class T>
class SeqStack
{
private:
T data[StackSize];
int top;
public:
SeqStack()
{
top=-1;
}
~SeqStack()
{
}
void push(T x);
T pop();
T GetTop()
{
if(top!=-1)
return data[top];
}
bool Empty()
{
top=-1?(return 1):(return 0);
}
};
template<class T>
void SeqStack::push (T x)
{
if(top==StackSize-1)
throw "上溢";
top++;
data[top]=x;
}
template<class T>
T SeqStack::pop()
{
T x;
if(top==-1)
throw "下溢";
x=data[top--];
return x;
}
/****************************************************/
template<class T>
struct Node
{
T data;
Node *next;
};
template<class T>
class LinkStack
{
private:
Node *top;
public:
LinkStack()
{
top=NULL;
}
~LinkStack()
{
while(top)
{
Node *p;
p=top->next;
delete top;
top=p;
}
}
void push(T x);
T pop();
T gettop()
{
if(top!=NULL)
return top->data;
}
bool Empty()
{
top==NULL?return 1:return 0;
}
};
template<class T>
void LinkStack::push(T x)
{
Node *s;
s=new Node; //没有申请空间时 会出现错误!
s->data=x;
s->next=top;
top=s;
}
template<class T>
T LinkStack::pop()
{
T x;
Node *p;
if(top==NULL)
throw "下溢";
x=top->data;
p=top;
top=top->next;
delete p;
return x;
}
/******************************************************/
int main()
{
SeqStack<int> aa;
LinkStack<int> bb;
for(int i=1;i<=5;i++)
aa.push(i);
cout<<"顺序栈出栈:";
for( i=0;i<5;i++)
{
int k=0;
k=aa.pop();
cout<" ";
}
cout<for( i=1;i<=5;i++)
bb.push(i);
cout<<"链式栈出栈:";
for( i=1;i<=5;i++)
{
int j=0;
j=bb.pop();
cout<" ";
}
cout<
你先说一下有啥现象啊
报什么错误,错误信息贴出来
IDE已经告诉你具体哪行出错了,你要自己学会看,让别人在149行代码里猜哪里出错了?