这是C ++中队列类的实现。我无法弄清楚我想要一个函数删除,其中我返回已删除的元素,但出现这些错误: 在删除'之前预期的不合格ID 预期的在成员声明结束时
当我删除删除功能时,一切正常,但不是在那里。 我试图用bfs在未加权的无向图中找到最短路径,我需要队列,特别是一个返回已删除顶点的队列。
class Queue
{
public:
Queue(int maxQueueSize):MaxSize(maxQueueSize)
{
queue=new int[MaxSize];
front=rear=-1;
}
bool isFull()
{
if(rear==MaxSize-1)
return true;
else return false;
}
bool isEmpty()
{
if(front==rear)
return true;
else return false;
}
void add(const int& x)
{
if(isFull())
return;
else
queue[++rear]=x;
}
int* delete()
{
int& x;
if(isEmpty())
return 0;
else
{
x=queue[++front];
}
return x;
}
private:
int front,rear;
int* queue;
int MaxSize;
};
答案 0 :(得分:0)
'删除'是C ++的保留关键字 查看保留关键字here列表。
你可以更好地称之为“删除”#39;或类似的东西。
更好的是,只需使用std :: queue<>,它已经写得很好并且已经为您测试过了。