Реализация двоичного дерева без использования указателей в C ++ - PullRequest
0 голосов
/ 12 июля 2020

Я пытаюсь реализовать двоичное дерево на C ++ без использования указателей.

class node{
    public:
    int val;
    node left;
    node right;
};

Это дает

error: field ‘left’ has incomplete type ‘node’

Однако, если я напишу это

class node{
    public:
    int value;
    vector<node> children;
};

Код компилируется просто отлично.

Что не так с первым подходом?

Кроме того, почему большинство реализаций, которые я вижу в C ++ для двоичных деревьев, используют указатели? Разве не рекомендуется избегать указателей и связанных с ними ошибок / сложности?

...