rule<> goofy = real_p >> real_p; bool isOK = parse( "12 1.3", goofy, space_p ).full;
with CodeWarrior 8.3, I get an error message that I don't understand, reproduced below. If I write the rule inline, like
bool isOK = parse( "12 1.3", real_p >> real_p, space_p ).full;
then it compiles OK, but that's a bit limiting. Any clues?
Error : function call '[const boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>].parse({lval} boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit:: skipper_iteration_policy<boost::spirit::iteration_policy>, boost::spirit::match_policy, boost::spirit::action_policy>>)' does not match
'boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>::parse(const boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>> &) const' (non-static)
(point of instantiation: 'main()')
(instantiating: 'boost::spirit::parse<char, boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>, boost::spirit::space_parser>(const char *, const boost::spirit::parser<boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>> &, const boost::spirit::parser<boost::spirit::space_parser> &)')
(instantiating: 'boost::spirit::parse<const char *, boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>, boost::spirit::space_parser>(const char *const &, const char *const &, const boost::spirit::parser<boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>> &, const boost::spirit::parser<boost::spirit::space_parser> &)')
(instantiating: 'boost::spirit::impl::phrase_parser<boost::spirit::space_parser>:: parse<const char *, boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag>>(const char *const &, const char *const &, const boost::spirit::rule<boost::spirit::scanner<const char *, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy>>, boost::spirit::parser_context, boost::spirit::parser_address_tag> &, const boost::spirit::space_parser &)')
skipper.ipp line 133 match<nil_t> hit = p.parse(scan);
-- <http://www.jwwalker.com/>
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost