Я пытаюсь поместить объект сообщения из линейного связанного списка в круговой связанный список.
Процесс вставки для круглого связанного списка начинается с функции класса линейного связанного списка, вызывающей "beginEnqueue" из класса круглого связанного списка, передавая объект сообщения текущего узла с помощью:
queue.beginEnqueue(head->stackEmail[index]);
Добавление функций:
void emailQueue::beginEnqueue(message & source)
{
enqueue(rear, source);
return;
}
void emailQueue::enqueue(queueNode *& rear, message & source)
{
message enqueueMessage;
if(!rear)
{
rear = new queueNode;
enqueueMessage.copyData(rear->queueEmail, source);
rear->next = rear;
}
else
{
queueNode * temp = new queueNode;
enqueueMessage.copyData(temp->queueEmail, source);
temp->next = rear->next;
rear->next = temp;
}
return;
}
Я могу правильно вставить его в круговой связанный список.Проблема, с которой я сталкиваюсь, заключается в том, что, когда я возвращаюсь из функций, это почти как если бы функций никогда не было, и объект не был вставлен в круговой связанный список.Когда я пытаюсь отобразить содержимое круглого связанного списка, у меня есть возвращаемое значение, которое говорит мне, что задний указатель равен NULL.Если бы я должен был вызвать вызов функции display в конце функции enqueue, он бы правильно отображал содержимое круглого связанного списка.