이것은 C++에서 대기열 클래스의 구현입니다. 알아낼 수없는 것은 내가 삭제 된 요소를 반환하는 함수 삭제를 원하지만이 오류가 나타납니다. 'delete'이전의 무제한 -id가 필요합니다 ; 회원 선언 끝 부분에서대기열 클래스의 무효 삭제 멤버 함수
삭제 기능을 삭제하면 모든 기능이 정상적으로 작동하지만 존재하지 않을 수 있습니다. bfs를 사용하여 unweighted undirected 그래프에서 최단 경로를 찾으려고하는데 대기열, 특히 삭제 된 정점을 반환하는 대기열이 필요합니다.
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;
};
'delete'는 예약어입니다. 식별자에 이러한 이름을 사용할 수 없습니다. –
다음은 예약어 목록 [link] (http://en.cppreference.com/w/cpp/keyword)입니다. 이 이름들을 식별자로 사용할 수 없습니다. –
'if (condition) true를 반환하고 그렇지 않으면 false를 반환합니다. '는 반 패턴입니다. 대신'return condition;'을 써라! –