Ошибка реализации функции c ++ в графе

Мне нужно реализовать граф со всеми его функциями-членами. Для этого я использовал вектор для хранения вершин и другой вектор для хранения ребер.
(Graph.h)

public:
Graph(vector<Vertex>, vector<Edge>);
virtual bool removeVertex(Vertex& v) = 0;
virtual bool searchVertex(const Vertex& v) = 0;

private :
vector <Vertex> vertices;
vector <Edge> edges;

};

Когда я пытаюсь реализовать такие функции, как searchVertex, removeVertex и т. Д., Я получаю несколько ошибок, таких как «нет соответствия для оператора ==» или «Vertex не является производной от const …». Я не знаю почему. Это выглядит так:
(Graph.cpp)

  bool Graph::searchVertex(const Vertex& v ){
for(unsigned int i=0;i<vertices.size();i++){
if(v==vertices[i]){
return true;
}
}
cout<<"This vertex doesn't exist";
return false;
}

Край имеет 2 основные вершины (основание / конец) и вес в качестве атрибута. Вершина имеет идентификатор и значение в качестве атрибутов.

Я полагаю, что что-то не так, может быть, из-за const или вызова по ссылке, но я не очень знаком с этим … Должен ли я также использовать указатели? Помощь будет оценена. Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]