diff --git a/include/CXXGraph/Graph/Graph.hpp b/include/CXXGraph/Graph/Graph.hpp index 166766bc3..9c108bd2d 100644 --- a/include/CXXGraph/Graph/Graph.hpp +++ b/include/CXXGraph/Graph/Graph.hpp @@ -861,7 +861,8 @@ template void Graph::addEdge(const Edge *edge) { if (edge->isDirected().has_value() && edge->isDirected().value()) { if (edge->isWeighted().has_value() && edge->isWeighted().value()) { - auto edge_shared = make_shared>(*edge); + auto edge_shared = make_shared>( + *dynamic_cast *>(edge)); this->edgeSet.insert(edge_shared); std::pair>, shared>> elem = { @@ -879,7 +880,8 @@ void Graph::addEdge(const Edge *edge) { } } else { if (edge->isWeighted().has_value() && edge->isWeighted().value()) { - auto edge_shared = make_shared>(*edge); + auto edge_shared = make_shared>( + *dynamic_cast *>(edge)); this->edgeSet.insert(edge_shared); std::pair>, shared>> elem = {