I am using Cygwin's g++ 3.4.4 and the official Cygwin Boost package
version 1.33.1. This minimal programm
using namespace boost::spirit;
rule< > r;
r = real_p;
bool b = parse(inp.c_str(),r,space_p).full;
produces the following error:
g++ -c -o objs/src/Main.o -D__cygwin__ -O -Isrc -Ilibutil/include
-Ilibrsrc/include src/Main.cpp
/usr/include/boost/spirit/core/scanner/impl/skipper.ipp:173:
instantiated from `boost::spirit::parse_info
boost::spirit::parse(const CharT*, const
boost::spirit::parser<DerivedT>&, const boost::spirit::parser<SkipT>&)
[with CharT = char, ParserT = boost::spirit::rule, SkipT =
boost::spirit::space_parser]'
src/Main.cpp:16: instantiated from here
/usr/include/boost/spirit/core/non_terminal/impl/rule.ipp:189: error: no
matching function for call to
`boost::spirit::impl::abstract_parser >,
boost::spirit::nil_t>::do_parse_virtual(const
boost::spirit::scanner&)'
Using the parser expression directly works without problems:
bool b = parse(inp.c_str(),real_p,space_p).full;
What am I doing wrong?
Thanks,
Patrick.