小零呦 2018-11-06 14:06 采纳率: 0%
浏览 594

数据结构栈 函数编译出错

#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文件 求各位大佬指点

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-11-06 14:26
    关注

    加上

     #define ERROR 0
    #define OK 1
    #define OVERFLOW 2
    

    修改

    #define STACK_INIT_SIZE 100
    #define STACKINCREMENT 10
    

    注意去掉分号

    图片说明

    问题如果解决,请点我回答左上角的采纳和向上箭头

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!