Topic: boost graph WTF? [compilation]

I master library. Why this code is not compiled??? #define BOOST_GRAPH_USE_SPIRIT_PARSER #include <boost/graph/directed_graph.hpp> #include <boost/graph/tiernan_all_cycles.hpp> #include <boost/graph/properties.hpp> #include <boost/graph/graphviz.hpp> void DBG_tiernan_all_cycles (std:: istream &i, std:: ostream &o) {{typedef boost:: directed_graph <> graph_t; typedef boost::graph_traits<graph_t>::vertex_descriptor vertex_t;//<<comment it typedef boost::graph_traits<graph_t>::edge_descriptor edge_t;//<<comment it graph_t g; boost:: dynamic_properties dp; boost:: read_graphviz (i, g, dp, "node_id");}} int main () {DBG_tiernan_all_cycles (std:: ifstream ("t: \\ids_set.gv"), std:: ofstream ("t: \\ids_all_cycles.gv")); return 0;} In such type as I resulted it it is compiled! But if  BOTH lines after which  //<<comment it the Code ceases to be compiled: error C2872: ' detail ': ambiguous symbol If only one of them, it is unimportant what the code will be compiled. What it for the mystic??? Online the compiler: http://rextester.com/KFOI67722


Re: boost graph WTF? [compilation]

Hello, nen777w, you wrote: N> That it for the mystic??? N> online the compiler: http://rextester.com/KFOI67722 I feel that they  in a file boost\graph\detail\read_graphviz_spirit.hpp template <typename MultiPassIterator, typename MutableGraph> bool read_graphviz_spirit (MultiPassIterator begin, MultiPassIterator end, MutableGraph& graph, dynamic_properties& dp, std:: string const& node_id = "node_id") {using namespace boost; using namespace boost:: spirit:: classic;//remove using typedef MultiPassIterator iterator_t; typedef skip_parser_iteration_policy <boost:: detail:: graph:: dot_skipper> iter_policy_t; typedef scanner_policies <iter_policy_t> scanner_policies_t; typedef scanner <iterator_t, scanner_policies_t> scanner_t; ::boost::detail::graph::mutate_graph_impl<MutableGraph> m_graph (graph, dp, node_id); or in a file boost\graph\graph_traits.hpp #define BOOST_GRAPH_PULL_OPT_MEMBER (name) \typedef typename detail:: BOOST_JOIN (get_opt_member _, name) <G>:: type name;//add:: boost::