Hi
Dear all,
Sorry for disturbing, i hope you can help me because i am facing one problem
i tried a lot but i can not succeeded.
To find the directed path between two nodes. First i tried to implement
Depth First Search but it is searching the verteces even there is no edge
exist.
so, now i want to implement dijkstra_shortest_path , it is giving errors.
Please guide me how i can implement this method.
code is :
slGraph& graph =
this->pBN->get_graph();
slNode n = vertex(2, graph);
std::vector<slNode> p(num_vertices(graph));
std::vector<int> d(num_vertices(graph));
boost::property_map::type weightMap =
get(edge_weight, graph);
boost::property_map::type indexmap =
get(vertex_index, graph);
dijkstra_shortest_paths(graph, n,
predecessor_map(&p[0]).distance_map(&d[0])); // First pattern to
implement
//dijkstra_shortest_paths(graph, n, &p[0], &d[0], weightMap, indexmap,
// std::less<int>(), closed_plus<int>(),
// second pattern
// (std::numeric_limits<int>::max)(), 0,
// default_dijkstra_visitor());
============================================ errors
==============================================================
1>c:\probt_slp\boost\include\boost\graph\dijkstra_shortest_paths.hpp(251) :
error C2664: 'void put(T *,ptrdiff_t,const V &)' : cannot
convert parameter 2 from 'void *' to 'ptrdiff_t'
1> with
1> [
1> DistInf=int,
1> T=int,
1> V=int
1> ]
1> There is no context in which this conversion is possible
1>
c:\probt_slp\boost\include\boost\graph\dijkstra_shortest_paths.hpp(292) :
see reference to function template instantiation 'void
boost::dijkstra_shortest_paths,void**__w64
,DistanceMap,WeightMap,IndexMap,std::less<_Ty>,boost::closed_plus<T>,int,int,ColorMap>(const
VertexListGraph &,void
*,PredecessorMap,DistanceMap,WeightMap,IndexMap,Compare,Combine,DistInf,DistZero,DijkstraVisitor,ColorMap)'
being compiled
1> with
1> [
1> VertexListGraph=slGraph,
1> DistanceMap=int *__w64 ,
1>
WeightMap=boost::adj_list_edge_property_mapboost::edge_weight_t,slScoreValueType,boost::edge_weight_t>,
1> IndexMap=boost::adj_list_vertex_property_map,
1> _Ty=D,
1> T=D,
1>
ColorMap=boost::iterator_property_mapboost::default_color_type>,boost::adj_list_vertex_property_map,boost::default_color_type,boost::default_color_type
&>,
1> PredecessorMap=void **__w64 ,
1> Compare=std::less<D>,
1> Combine=boost::closed_plus<D>,
1> DistInf=int,
1> DistZero=int,
1> DijkstraVisitor=boost::dijkstra_visitor<>
1> ]
1>
c:\probt_slp\boost\include\boost\graph\dijkstra_shortest_paths.hpp(322) :
see reference to function template instantiation 'void
boost::detail::dijkstra_dispatch2>(const
VertexListGraph &,void *,DistanceMap,WeightMap,IndexMap,const Params
&,ColorMap)' being compiled
1> with
1> [
1> VertexListGraph=slGraph,
1>
WeightMap=boost::adj_list_edge_property_mapboost::edge_weight_t,slScoreValueType,boost::edge_weight_t>,
1> IndexMap=boost::adj_list_vertex_property_map,
1> Params=boost::bgl_named_params>,
1>
RandomAccessIterator=std::_Vector_iteratorboost::default_color_type>,
1> T=boost::default_color_type,
1> R=boost::default_color_type &,
1> DistanceMap=int *__w64 ,
1>
ColorMap=boost::iterator_property_mapboost::default_color_type>,boost::adj_list_vertex_property_map,boost::default_color_type,boost::default_color_type
&>
1> ]
1>
c:\probt_slp\boost\include\boost\graph\dijkstra_shortest_paths.hpp(342) :
see reference to function template instantiation 'void
boost::detail::dijkstra_dispatch1,boost::adj_list_vertex_property_map,boost::bgl_named_params,boost::detail::error_property_not_found>(const
VertexListGraph &,void *,DistanceMap,WeightMap,IndexMap,const Params
&,ColorMap)' being compiled
1> with
1> [
1> VertexListGraph=slGraph,
1> Directed=boost::bidirectional_tag,
1> Value=long double,
1> Ref=const long double &,
1> Vertex=void *,
1> Property=const
boost::propertyboost::edge_weight_t,slScoreValueType,
1> Tag=boost::edge_weight_t,
1> Graph=slGraph,
1> ValueType=unsigned int,
1> Reference=const unsigned int &,
1> T=int *__w64 ,
1> Base=boost::bgl_named_params,
1> DistanceMap=int *__w64 ,
1>
WeightMap=boost::adj_list_edge_property_mapboost::edge_weight_t,slScoreValueType,boost::edge_weight_t>,
1> IndexMap=boost::adj_list_vertex_property_map,
1> Params=boost::bgl_named_params>,
1> ColorMap=boost::detail::error_property_not_found
1> ]
1> c:\probt_slp\work\yasin\test\pc\algopc.cpp(251) : see reference to
function template instantiation 'void
boost::dijkstra_shortest_paths>(const
VertexListGraph &,void *,const boost::bgl_named_params> &)' being
compiled
1> with
1> [
1> T=void **__w64 ,
1> Tag=boost::vertex_predecessor_t,
1> Base=boost::no_property,
1> VertexListGraph=slGraph
1> ]
1>c:\probt_slp\boost\include\boost\graph\dijkstra_shortest_paths.hpp(252) :
error C2664: 'void put(T *,ptrdiff_t,const V &)' : cannot
convert parameter 2 from 'void *' to 'ptrdiff_t'
1> with
1> [
1> T=void *,
1> V=void *
1> ]
1> There is no context in which this conversion is possible
1>c:\probt_slp\boost\include\boost\graph\dijkstra_shortest_paths.hpp(255) :
error C2664: 'void put(T *,ptrdiff_t,const V &)' : cannot
convert parameter 2 from 'void *' to 'ptrdiff_t'
1> with
1> [
1> DistInf=int,
1> T=int,
1> V=int
1> ]
1> There is no context in which this conversion is possible
1>Build log was saved at
"file://c:\ProBT_SLP\work\yasin\test\Debug\BuildLog.htm"
1>testPC - 3 error(s), 75 warning(s)
==============================================================================================================
I will be thankful to you for your guidance.
Regards
Amanullah YASIN
Master2 (ECD)
Ecole Polytechnique
Université de Nantes, France.
Mob# 06 47 62 89 96
Fix # 02 72 00 26 45
amanyasin@gmail.com