#include"SqStack.h"
//若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERROR
Status GetTop(SqStack S,SElemType &e){
if(S.top == S.base) return ERROR;
e = *(S.top -1);
return OK;
}//GetTop
//插入元素e为新的栈顶元素
Status Push(SqStack &S,SElemType e){
if(S.top - S.base >= S.stacksize){//栈满,追加存储空间
S.base = (SElemType *)realloc( S.base,
(S.stacksize + STACKINCREMENT) * sizeof(SElemType));
if(!S.base) exit(OVERFLOW);
S.top = S.base + S.stacksize;
S.stacksize += STACKINCREMENT;
}
*S.top ++ = e;
return OK;
}//Push
//构造一个空栈
Status InitStack(SqStack &S){
S.base = (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
if(!S.base) exit(OVERFLOW);
S.top = S.base;
S.stacksize = STACK_INIT_SIZE;
return OK;
}//InitStack
//若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK,否则返回ERROR
Status Pop(SqStack &S, SElemType &e){
if(S.top == S.base) return ERROR;
e = * --S.top;
return OK;
}//Pop
typedef int Status;
typedef char SElemType;
#define STACK_INIT_SIZE 100;
#define STACKINCREMENT 10;
//顺序栈的定义
typedef struct {
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S);
Status GetTop(SqStack S,SElemType &e);
Status Push(SqStack &S,SElemType e);
Status Pop(SqStack &S, SElemType &e);这是我的代码 但是编译的时候一直出错
错误:error C2143: syntax error : missing ')' before ';'
error C2059: syntax error : ')'
但是我已经把文件名定为.cpp文件 求各位大佬指点