If I try to compile something like

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

Reply via email to