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<slGraph, edge_weight_t>::type weightMap = get(edge_weight, graph);
boost::property_map<slGraph, vertex_index_t>::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<int,DistInf>(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<VertexListGraph,boost::dijkstra_visitor<>,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_map<boost::bidirectional_tag,long double,const long double &,void *,const boost::property<boost::edge_weight_t,slScoreValueType>,boost::edge_weight_t>,
1>            IndexMap=boost::adj_list_vertex_property_map<slGraph,unsigned int,const unsigned int &,boost::vertex_index_t>,
1>            _Ty=D,
1>            T=D,
1>            ColorMap=boost::iterator_property_map<std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>,boost::adj_list_vertex_property_map<slGraph,unsigned int,const unsigned int &,boost::vertex_index_t>,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<VertexListGraph,int*__w64 ,WeightMap,IndexMap,Params,boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>>(const VertexListGraph &,void *,DistanceMap,WeightMap,IndexMap,const Params &,ColorMap)' being compiled
1>        with
1>        [
1>            VertexListGraph=slGraph,
1>            WeightMap=boost::adj_list_edge_property_map<boost::bidirectional_tag,long double,const long double &,void *,const boost::property<boost::edge_weight_t,slScoreValueType>,boost::edge_weight_t>,
1>            IndexMap=boost::adj_list_vertex_property_map<slGraph,unsigned int,const unsigned int &,boost::vertex_index_t>,
1>            Params=boost::bgl_named_params<int *__w64 ,boost::vertex_distance_t,boost::bgl_named_params<void **__w64 ,boost::vertex_predecessor_t,boost::no_property>>,
1>            RandomAccessIterator=std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>,
1>            T=boost::default_color_type,
1>            R=boost::default_color_type &,
1>            DistanceMap=int *__w64 ,
1>            ColorMap=boost::iterator_property_map<std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>,boost::adj_list_vertex_property_map<slGraph,unsigned int,const unsigned int &,boost::vertex_index_t>,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<VertexListGraph,int*__w64 ,boost::adj_list_edge_property_map<Directed,Value,Ref,Vertex,Property,Tag>,boost::adj_list_vertex_property_map<Graph,ValueType,Reference,boost::vertex_index_t>,boost::bgl_named_params<T,boost::vertex_distance_t,Base>,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::property<boost::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<void **__w64 ,boost::vertex_predecessor_t,boost::no_property>,
1>            DistanceMap=int *__w64 ,
1>            WeightMap=boost::adj_list_edge_property_map<boost::bidirectional_tag,long double,const long double &,void *,const boost::property<boost::edge_weight_t,slScoreValueType>,boost::edge_weight_t>,
1>            IndexMap=boost::adj_list_vertex_property_map<slGraph,unsigned int,const unsigned int &,boost::vertex_index_t>,
1>            Params=boost::bgl_named_params<int *__w64 ,boost::vertex_distance_t,boost::bgl_named_params<void **__w64 ,boost::vertex_predecessor_t,boost::no_property>>,
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<slGraph,int*__w64 ,boost::vertex_distance_t,boost::bgl_named_params<T,Tag,Base>>(const VertexListGraph &,void *,const boost::bgl_named_params<int *__w64 ,boost::vertex_distance_t,boost::bgl_named_params<T,Tag,Base>> &)' 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<void*,void*>(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<int,DistInf>(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