Я абсолютный новичок в C ++ и Lemon, и у меня есть следующая проблема с библиотекой графа лимонов. Я хотел бы создать функцию, которая получает «карту» в качестве входной переменной. Что-то вроде этого:
bool augment(Graph &g, Graph::EdgeMap<int> sol_edge)
{
//do something
}
Но когда я пытаюсь его построить, я получаю следующую ошибку:
\lemon-1.3\lemon\bits\vector_map.h|110|error: 'lemon::VectorMap<_Graph, _Item, _Value>::VectorMap(const lemon::VectorMap<_Graph, _Item, _Value>&) [with _Graph = lemon::GraphExtender<lemon::ListGraphBase>; _Item = lemon::ListGraphBase::Node; _Value = bool; lemon::VectorMap<_Graph, _Item, _Value> = lemon::VectorMap<lemon::GraphExtender<lemon::ListGraphBase>, lemon::ListGraphBase::Node, bool>]' is private|
Означает ли это, что невозможно создать функцию с аргументом типа карты?
Спасибо за любую помощь!
Вы должны передать его по ссылке:
bool augment(ListGraph& g, ListGraph::EdgeMap<int>& sol_edge) {
//do something
}
Других решений пока нет …