Bonjour à tous,

Je travail actuellement sur un parser pour un jeu d'échec format PGN, à l'aide de Spirit classique. J'ai donc fais une grammaire mais le problème pour l'instant vient de de la fonction "parse" et du typage de ses arguments.

Voici l'erreur à la compile.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
error: no matching function for call to ‘parse(pgn::iterator_t&, pgn::iterator_t&, pgn::Parser (&)(), boost::spirit::classic::rule<boost::spirit::classic::scanner<boost::spirit::classic::file_iterator<char> > >&)’
src/Parse/loader.cc:22:77: note: candidates are:
/usr/include/boost/spirit/home/classic/core/impl/parser.ipp:23:5: note: template<class IteratorT, class DerivedT> boost::spirit::classic::parse_info<IteratorT> boost::spirit::classic::parse(const IteratorT&, const IteratorT&, const boost::spirit::classic::parser<DerivedT>&)
/usr/include/boost/spirit/home/classic/core/impl/parser.ipp:42:5: note: template<class CharT, class DerivedT> boost::spirit::classic::parse_info<const CharT*> boost::spirit::classic::parse(const CharT*, const boost::spirit::classic::parser<DerivedT>&)
/usr/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp:148:5: note: template<class IteratorT, class ParserT, class SkipT> boost::spirit::classic::parse_info<IteratorT> boost::spirit::classic::parse(const IteratorT&, const IteratorT&, const boost::spirit::classic::parser<ParserT>&, const boost::spirit::classic::parser<SkipT>&)
/usr/include/boost/spirit/home/classic/core/scanner/impl/skipper.ipp:165:5: note: template<class CharT, class ParserT, class SkipT> boost::spirit::classic::parse_info<const CharT*> boost::spirit::classic::parse(const CharT*, const boost::spirit::classic::parser<ParserT>&, const boost::spirit::classic::parser<SkipT>&)
Si vous avez une idée, je suis preneur merci !