0

boost boost :: dijkstra_shortest_pathsアルゴリズムを使いたいです。 VS 2015でコンパイルしようとしたときにVS 2010が、このコードは正常に動作は、それがエラーの詳細::ブーストから変換することはできません提供します:: multi_array :: mutable_iterator_tagへのstd :: random_access_iterator_tagboost :: detail :: multi_array :: mutable_iterator_tagをstd :: random_access_iterator_tagに変換してください。

 boost::dijkstra_shortest_paths(
     _graph, source, 
     boost::make_iterator_property_map(predecessor.begin(), index_map, predecessor[0]), 
     boost::make_iterator_property_map(weight.begin(), index_map, weight[0]), 
     weight_map, index_map, 
     std::less<Weight>(), boost::closed_plus<Weight>(), 
     InfiniteWeight, 0, 
     StopWhenTargetReached(target)); 

一部intial分析はことを発見した後、 boost::make_iterator_property_map(predecessor.begin(), index_map, predecessor[0])

はエラーです。

このエラーはどのようにVS 2015で解決できますか?

+0

「プレデセッサー」がブーストmulti_arrayタイプではないことにご注意ください。 –

答えて

0

私もこれに遭遇し、いくつかの「魔法の」変更によって、私はそれを動作させました。

は、ここにhttps://svn.boost.org/trac10/ticket/4874#comment:43

を、私のコメントを見て、私は本当に私がここでやっているかわからないと言うの免責事項に注意してください。うまくいけば、これは単に、誰かがブーストするための適切な修正を提供できるようにします。

関連する問題