Я пытаюсь запустить алгоритм BFS в матрице, чтобы получить кратчайший путь от моей позиции до первого доступного элемента, который находит BFS. Матрица состоит из узлов, определяемых следующим образом:
struct node {
int distance = -1;
node parent;
Pos position;
//Direction to get into the actual node from the parent's position.
Dir direction;
Cell cell;
};
Мне нужен экземпляр родительского узла (тот, который был ранее посещен и с меньшим расстоянием до начального узла, чем фактический узел), чтобы проследить самый быстрый путь обратно к исходному узлу после того, как нужный элемент найден. Но кажется, что объявление node parent; выдает ошибку, так что можно ли объявить элемент структуры с типом самой структуры? или мне нужно объявить его как указатель на элемент?
Вот вам ошибки:
error: field has incomplete type 'node'
node parent;
^
note: definition of 'node' is not complete until the closing '}
struct node {
^
Спасибо.