永发信息网

总是提示第十行:Declaration syntax error,求解释!

答案:1  悬赏:20  手机版
解决时间 2021-11-30 12:54
  • 提问者网友:相思似海深
  • 2021-11-29 15:33
总是提示第十行:Declaration syntax error,求解释!
最佳答案
  • 五星知识达人网友:迟山
  • 2021-11-29 15:58
status未定义!
typedef enum
{
ERROR = 0,
OK = 1
} status;追问是直接在status InitStack(SqStack &s){前加上这段语句吗?试了还是不行啊追答还是不行出现的是新的错误还是旧的错误信息阿?你没说清楚追问还是原来的错误。这段语句也有错误,不知道错在哪里。追答
#include
#include
#include
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OVERFLOW 0
typedef enum
{
ERROR=0,
OK=1
} STATUS;
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;
STATUS InitStack(SqStack &S)
{
S.base=(int *)malloc(STACK_INIT_SIZE * sizeof(int));
if(!S.base)
exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
STATUS GetTop(SqStack S, int &e)
{
if (S.top==S.base)
return ERROR;
e=*(S.top-1);
return OK;
}
STATUS Push(SqStack &S,int e)
{
if (S.top-S.base>=S.stacksize)
{
S.base = (int*)realloc(S.base,(S.stacksize+STACKINCREMENT) * sizeof(int));
if(!S.base)
exit (OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}
STATUS Pop(SqStack &S,int &e)
{
if (S.top==S.base)
return ERROR;
e=* --S.top;
return OK;
}
void main()
{
int e,i;
SqStack S;
InitStack(S);
e=getchar();
Push(S,e);
GetTop(S,i);
printf("i=%d",i);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯