|
Boost : |
From: James W. Walker (osx_at_[hidden])
Date: 2003-08-31 02:04:43
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/>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk