Implicit cast doesnt work for BOOST_STRONG_TYPEDEF and BOOST_SPIRIT_DEBUG_NODE
问题 I have defined a boost::spirit::qi rule: boost::spirit::qi::rule<Iterator, Identifier()> id; where Identifier is defined by: BOOST_STRONG_TYPEDEF(std::string, Identifier) but when I use BOOST_SPIRIT_DEBUG_NODE(id); It fails to compile with following error: boost_1_51_0/boost/spirit/home/support/attributes.hpp:1203: error: no match for 'operator<<' in 'out << val' and it lists the overloaded operators of ostream. Knowing that BOOST_STRONG_TYPEDEF defines a cast operator to the original type,