队列定义的语法问题
#include <stdio.h>#include <malloc.h>
#define MAXQSIZE 100;
#define OK 1;
#define ERROR 0;
typedef int QElemType;
typedef int Status;
typedef struct{
QElemType *base;
int front;
int rear;
}SqQueue;//队列的定义
Status InitQueue(SqQueue &Q);//构造一个空队列
Status QueueLength(SqQueue Q);//计算队列的长度
Status EnQueue(SqQueue &Q,QElemType e);//插入一个元素
Status DeQueue(SqQueue &Q,QElemType &e);//删除一个元素
#include "queue.h"
Status InitQueue(SqQueue &Q)//构造一个空队列
{
Q.base=(QElemType*)malloc(MAXQSIZE*sizeof(QElemType));
if(!Q.base)return ERROR;
Q.front=Q.rear=0;
return OK;
};
Status QueueLenth(SqQueue Q)//计算队列的长度
{ int i;
i=(Q.rear-Q.front+MAXQSIZE)%MAXQSIZE;
return i;
};
Status EnQueue(SqQueue &Q,QElemType e)//插入一个元素
{ int i;
i=(Q.rear+1)%MAXQSIZE;
if(i==Q.front) return ERROR;
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)%MAXQSIZE;
return OK;
};
Status DeQueue(SqQueue &Q,QElemType &e)//删除一个元素
{
if(Q.front==Q.rear) return ERROR;
e=Q.base[Q.front];
Q.front=(Q.front+1)%MAXQSIZE;
return OK;
};
编译之后出现错误: <1>C:\Program Files\Microsoft Visual Studio\MyProjects\队列的定义\SqQueue.cpp(4) : error C2143: syntax error : missing ')' before ';'
<2>C:\Program Files\Microsoft Visual Studio\MyProjects\队列的定义\SqQueue.cpp(4) : error C2059: syntax error : ')'
不明白为什么会这样,我把宏定义删了后,在每个函数里定义int MAXQSIZE=100后,又没有语法错误了?这是为什么?是宏定义没有成功?
那位高手能告诉我,先谢谢了。。