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

数据结构栈 函数编译出错

#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
    

    注意去掉分号

    图片说明

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

    评论

报告相同问题?

悬赏问题

  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python