C/C++

Пытаюсь реализовать шаблонные классы деревьев. Выдает кучу непонятных ошибок

Пожалуйста запустите код у себя и скажите как это исправить. Возможно я где-то как-то неправильно работаю с шаблонами.
До этого я создавал структуру узла в классе дерева и тогда все работало. Но мне сказали это бред. Я сделал класс узла и отсюда все пошло не туда. Скорее всего я делаю что-то не то с шаблоном, но моих познаний не хватает понять что.
github.com/LavrovSergey/OOP/tree/commits

И пж не пишите не по теме типа: что за ужас, кто так пишет. Я учусь и так же я делаю эту лабу уже несколько недель и я просто схожу с ума. Просто помогите с моим вопросом
неплохой код для начала но господи нафига ты так зациклился на нулл? не ставил твой проект но посмотрел немного
[[
[S][A][B][I][R][J][A][N] [K][U][R][B][A]
20 993
Лучший ответ
Саттелит Noname может всетаки поставите и поможете понять ероры?
"Шаблонные классы деревьев"... а что так низко-то, может сразу замахнёмся на "шаблон языка программирования"?:)
Деревья применяются в написании СУБД, и пишутся на примитивном уровне, чтобы работали максимально быстро.
Поэтому какие тут на хрен шаблоны и ООП? Если только от нечего делать проц туда-сюда погонять... :)
Саттелит Noname спасибо за ответ не по теме, но задание по лабораторной звучит так: сделать класс дерева (бинарного, обычного, с н детьми), что б работал с int, double, vector, string
> До этого я создавал структуру узла в классе дерева и тогда все работало

То, что я вижу в репозитории, не могло работать ни сейчас, ни когда бы то ни было "тогда". Например, в Functions.h через строку к полям объектов классов пытаются обращаться как к статическим, типа BinarySearchTree::root. Шаблоны тут ни при чём, это просто "пишу то не знаю что".
Или вот, например, TreeChildrenList.h:144. Компилятор же наверняка говорит, что здесь не хватает шаблонных аргументов Node. Почему это нельзя было исправить самостоятельно?
А в чём логика наследования Functions от классов деревьев? Это что, какое-то супердерево, объединяющее в себе все ранее реализованные?

Ещё: удали реп и создай новый, на этот раз добавив каталог .vs в gitignore. Никто не хочет качать 70 мегабайт бесполезных вижловых бинарников вместе с несколькими килобайтами нужного кода.
И избегай использования нестандартных заголовков вроде windows.h и conio.h, т. к. этим ты ограничиваешь множество людей, могущих собрать твой код (или хотя бы попытаться это сделать) без мучений с их выкорчевыванием.
Саттелит Noname А как мне показать, что я обращаюсь к корню именно в этом класе?
В каком плане не хватает шаблонных аргументов Node? Можете по конкретней сказать и как это исправить