C++, идентификатор не найден

Пару недель как изучаю плюсы. Есть задача написать функции Has, Insert и Delete для дерева. Вот моя реализация:

#include <map>
#include <string>
#include <vector>

struct Node {
    std::map<std::string, Node> children;
};

class Tree {
private:
    Node root;

public:
    bool Has(const std::vector<std::string>& node) const;
    void Insert(const std::vector<std::string>& node);
    void Delete(const std::vector<std::string>& node);
};

bool Tree::Has(const std::vector<std::string>& node) const {
    return _Has(node, root);
} 

bool _Has(const std::vector<std::string>& node, const Node& root) {
    if (root.children.count(node[0])) {
        if (node.begin() + 1 == node.end()) {
            return true;
        }
        else {
            return _Has(std::vector<std::string>(++node.begin(), node.end()), root.children.at(node[0]));
        }
    }
    else {
        return false;
    }
}

void Tree::Insert(const std::vector<std::string>& node) {
    _Insert(node, root);
}

void _Insert(const std::vector<std::string>& node, Node& root) {
    if (!root.children.count(node[0])) {
        Node n;
        root.children[node[0]] = n;
    }
    if (node.begin() + 1 != node.end()) {
        _Insert(std::vector<std::string>(++node.begin(), node.end()), root.children.at(node[0]));
    }   
}

void Tree::Delete(const std::vector<std::string>& node) {

}

Компиляция вылетает с:

Ошибка C3861 _Has: идентификатор не найден

Ошибка C3861 _Insert: идентификатор не найден

Пожалуйста, учитывая что я только начал погружаться в c++, можно не очень сложным языком, был бы крайне признателен:)


Ответы (0 шт):