In file included from Machinery/Classes/Node.cpp:1:
Machinery/Classes/Node.hpp: В функции-члене «Node& Node::find_in_nodes_by_name(const std::string&) const»:
Machinery/Classes/Node.hpp:181:55: ошибка: использование удаленной функции «std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [с _Tp = Node*; _Dp = std::default_delete<Node*>]»
181 | for(auto item : links_pair.second.get_childrens());
| ^
In file included from /usr/include/c++/12.1.0/memory:76,
from Machinery/Classes/../Interfaces/IParentable.hpp:7,
from Machinery/Classes/Node.hpp:6:
Почему возникает ошибка?
#include <utility>
/**
* @brief Класс образующий Родитель / Дочерние связи, структуру.
*/
class Node : public Machinery::Classes::Nameable
{
//ParameterGetSetTyped(std::unique_ptr<void*>, content_data);
std::pair< LinearNavigation<Node>, Machinery::Interfaces::Parentable<Node*> > links_pair;
public:
/**
* @brief Есть ли дочерние элементы объекта.
*
* @return true
* @return false
*/
inline virtual bool haveChildNodes() const {return !links_pair.second.get_childrens().empty();}
/**
* @brief Есть ли родительские элементы объекта.
*
* @return true
* @return false
*/
inline virtual bool haveParentNodes() const {return !links_pair.second.get_parents().empty();}
/**
* @brief Есть ли следующий связанный элемент.
*
* @return true
* @return false
*/
virtual bool haveNextNode() const {return haveNextNode();}
/**
* @brief Есть ли предыдущий связанный элемент.
*
* @return true
* @return false
*/
inline virtual bool havePrevNode() const {return havePrevNode();}
/**
* @brief Find node by it's name.
* Поиск элемента по имени.
* @param name
* @return Node<T>&
*/
inline Node & find_in_nodes_by_name(const std::string & name) const
{
for(auto item : links_pair.second.get_childrens());
//if(item->getName().find(name) != item->getName().end()) return item;
}
//inline Node& find_in_nodes_next_one_by_name(const std::string & name) const;
//inline Node& find_in_nodes_prev_one_by_name(const std::string & name) const;
//inline Node& find_in_nodes_next_one_by_name_cycled(const std::string & name) const;
};