Я пытаюсь реализовать очередь, используя структуры. Вот сама структура:
struct Item
{
datatype data;
Item* next;
};
Однако, когда я пытаюсь добавить новый элемент, я получаю сообщение об ошибке:
void enqueue(Item** front, Item** rear, datatype D) { //add element to queue
Item* temp;
temp = new Item;
temp->data = D;
temp->next = NULL;
if (*front == NULL){ // if queue is empty, make temp the first element
*front = temp;
}
else { // else add it to the end
rear->next = temp; //error is here
*rear = temp;
}
}
Я пытался сделать что-то подобное (*rear)->next = temp;
но затем следующий остается NULL.
Не могли бы вы помочь исправить это? Благодаря.