Круговой связанный список не создает себя для использования вне функции - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь поместить объект сообщения из линейного связанного списка в круговой связанный список.

Процесс вставки для круглого связанного списка начинается с функции класса линейного связанного списка, вызывающей "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, он бы правильно отображал содержимое круглого связанного списка.

...