The following:

 

vector<standard::UnDirectedVertex> parent(num_vertices(graph_));

prim_minimum_spanning_tree(graph_,&parent[0]);

 

gives me the minimum spanning tree using the boost::edge_weight property however I would like to use  another property as I use the boost::edge_weight property for other things. I tried as described here but have some problems see error messages. I believe it is because of the parameter boost::default_dijkstra_visitor() however I do not know how to fix it:

 

 

      vector<standard::UnDirectedVertex> parent(num_vertices(graph_));

      vector<std::size_t> distance(num_vertices(graph_));

      boost::property_map<standard::Graph, mst_cost_t>::type weightmap = boost::get(mst_cost, graph_);

      boost::property_map<standard::Graph, boost::vertex_index_t>::type indexmap = get(boost::vertex_index, graph_);

 

      prim_minimum_spanning_tree(graph_,0, &parent[0], &distance[0],weightmap,indexmap,boost::default_dijkstra_visitor());

 

The error message is:

1>c:\program files\microsoft visual studio 8\vc\include\limits(109) : error C2440: '<function-style-cast>' : cannot convert from 'int' to 'W'

1>        No constructor could take the source type, or constructor overload resolution was ambiguous

1>        c:\program files\microsoft visual studio 8\vc\include\limits(107) : while compiling class template member function 'W std::numeric_limits<_Ty>::max(void) throw()'

1>        with

1>        [

1>            _Ty=W

1>        ]

1>        c:\boost\include\boost-1_33_1\boost\graph\prim_minimum_spanning_tree.hpp(61) : see reference to class template instantiation 'std::numeric_limits<_Ty>' being compiled

1>        with

1>        [

1>            _Ty=W

1>        ]

 

 

It would be nice if someone could help.

 Thanks.

 

      Line