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++, можно не очень сложным языком, был бы крайне признателен:)