這個問題太多人問了,
所以還是先寫下來當成 FAQ 用;
官方文件的 quick start 這一章是類似下面這樣教:
parse("ffff 1234 abcde", +hex_p, space_p); |
加上 The Scanner and Parsing 那一小節也提到 pharse-level parsing 有兩種版本:
template <typename IteratorT, typename ParserT, typename SkipT> parse_info<iteratort> parse ( IteratorT const& first, IteratorT const& last, parser<parsert> const& p, parser<skipt> const& skip ); template <typename CharT, typename ParserT, typename SkipT> parse_info<chart const*> parse ( CharT const* str, parser<parsert> const& p, parser<skipt> const& skip ); </skipt></parsert></chart></typename></skipt></parsert></iteratort></typename> |
導致有人寫出這種 code 來結果編不過在那邊哭:
rule<> r = +hex_p; string str("ffff 1234 abcde"); parse(str.begin(), str.end(), r, space_p); |

