Сбой при нажатии кнопки «это» указатель на массив.

Я пытаюсь получить все листовые узлы из моей древовидной структуры. Код взят из ue4, поэтому просто относитесь к «TArray» как к обычному std :: Vector.

TArray<BSPNode *> * BSPNode::getLeafNodes()
{
TArray<BSPNode *> *  collected = new TArray<BSPNode*>;
collectLeafNode(collected);
return collected;
}

void BSPNode::collectLeafNode(TArray<BSPNode *> * leafNodes)
{
if (leftNode == nullptr && rightNode == nullptr)
{
if (leafNodes != nullptr)
{
if (this != nullptr)
leafNodes->Add(this);
}
return;
}

if (leftNode != nullptr)
leftNode->collectLeafNode(leafNodes);

if (rightNode != nullptr)
rightNode->collectLeafNode(leafNodes);

return;
}

отладчик показывает, что нарушение доступа появляется в

    if (leftNode == nullptr && rightNode == nullptr)

Вывод отладчика:
стек вызовов строка 95 if (rightNode != nullptr) линия 82 if (leftNode == nullptr && rightNode == nullptr)

а также переменные.

Я понятия не имею, почему происходит сбой программы, это связано с использованием указателя «this»? Заранее спасибо :).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector