我必须包含<boost/graph/adjacency_list.hpp>
来构建adjacency_matrix,否则代码将无法编译。
我不明白为什么,我看到的那些例子不需要它。
#include <boost/graph/adjacency_matrix.hpp>
#include <boost/graph/graph_utility.hpp>
using namespace boost;
typedef boost::adjacency_matrix< directedS > MatrixGraph;
int main(){
const char* name = "ABCD";
MatrixGraph mg(3);
add_edge (0, 1, mg);
add_edge (0, 3, mg);
add_edge (1, 2, mg);
add_edge (2, 3, mg);
boost::print_vertices(mg,name);
}
答案 0 :(得分:1)
您忘记列出错误消息。
但我认为我在GCC 4.9上用Boost 1.58复制了它;
/home/sehe/custom/boost_1_58_0/boost/graph/detail/edge.hpp|111 col 10| error: ‘hash’ is not a class template
|| struct hash<boost::detail::edge_desc_impl<D, V> >
修复
#include <boost/functional/hash.hpp>