Я хотел бы построить constepxr
древовидную структуру с фиксированным числом дочерних элементов, которые могут быть или не быть древовидными. Структура будет в состоянии ответить на вопрос «есть ли узел с индексом 2 в этом дереве?»
В идеале я хотел бы написать что-то вроде этого:
struct Tree {
std::array<std::optional<Tree>, 5> children; // 5 children max for each tree
};
К сожалению Tree
ссылка на себя не компилируется.
Есть ли что-то, что я пропустил, или способ обойти это ограничение? Знаете ли вы реализацию, решающую подобную проблему?