Bonjour, je viens vers vous car j'ai tourné un peu dans tous les sens lu pas mal de doc et j'arrive a rien
J'ai un fichier:
blablablabla
blablablabla
-ENZREV
blablablablablablablablablabla
blablablablablablablablablabla

-ENZIRREV
blablablablablablablablablabla
blablablablablablablablablabla

-METINT
blablablablablablablablablabla
blablablablablablablablablabla

-METEXT
blablablablablablablablablabla
blablablablablablablablablabla

-CAT
blablablablablablablablablabla
blablablablablablablablablabla
donc je voudrais stocker le blabla dans les des vecteur aproprié :
std::vector<std::string> enzrev, enzirrev, metint, metext,cat;
pour celà j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef _PARSER_HPP
#define	_PARSER_HPP
 
#include <vector>
#include <map>
#include <string>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/qi_lit.hpp>
#include <boost/spirit/include/qi_lexeme.hpp>
#include <boost/spirit/include/qi_grammar.hpp>
#include <boost/spirit/include/support_ascii.hpp>
#include <boost/spirit/include/phoenix_core.hpp>
#include <boost/spirit/include/phoenix_operator.hpp>
#include <boost/spirit/include/phoenix_object.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/spirit/include/phoenix_stl.hpp>
#include <boost/fusion/include/io.hpp>
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
 
namespace parser {
    using ::boost::spirit::qi::grammar;
    using ::boost::spirit::ascii::space_type;
    using ::std::vector;
    using ::std::map;
    using ::std::string;
    /**
     * data structure who store data parsed
     */
    struct Data {
        vector<string>                  enzrev;
        vector<string>                  enzirrev;
        vector<string>                  metext;
        vector<string>                  metint;
        //map< string,vector<string> >    cat;
    };
 
    BOOST_FUSION_ADAPT_STRUCT(  Data,
                                (vector<string>                         , enzrev)
                                (vector<string>                         , enzirrev)
                                (vector<string>                         , metext)
                                (vector<string>                         , metint)
                            )
    /**
     *
     */
    template <typename Iterator>
    struct parser : public grammar<Iterator,Data(), space_type> {
        /**
         *
         */
        parser() : parser::base_type(start) {
            using ::boost::spirit::lit;
            using ::boost::spirit::qi::lexeme;
            using ::boost::spirit::ascii::char_;
            using ::boost::spirit::qi::rule;
            using ::boost::phoenix::push_back;
            // declare rules
            rule<Iterator,string> content;
            rule<Iterator,vector()> enzrevContent;
            rule<Iterator,vector()> enzirrevContent;
            rule<Iterator,vector()> metextContent;
            rule<Iterator,vector()> metintContent;
            rule<Iterator,map()> catContent;
            rule<Iterator,Data(),space_type> start;
            // construct rules
            content         %= lexeme[+(char_ - ('\n\n' | "^-")];
            enzrevContent   = "^-ENZREV"    >> *content [push_back(content)];
            enzirrevContent = "^-ENZIRREV"  >> *content [push_back(content)];
            metextContent   = "^-METEXT"    >> *content [push_back(content)];
            metintContent   = "^-METINT"    >> *content [push_back(content)];
            catContent      = "^-CAT"       >> *content;
 
 
        }
 
    };
}
#endif
et quand je compile plein d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
g++    -c -g -I/usr/include/glib-2.0 -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/lib64/glib-2.0/include -I/usr/include/glibmm-2.4/glibmm -I/usr/include/boost/spirit -MMD -MP -MF build/Debug/GNU-Linux-x86/_ext/data/Projets/C++/metatool/src/Controller.o.d -o build/Debug/GNU-Linux-x86/_ext/data/Projets/C++/metatool/src/Controller.o /data/Projets/C++/metatool/src/Controller.cpp
Dans le fichier inclus à partir de /data/Projets/C++/metatool/src/Controller.hpp:36,
          à partir de /data/Projets/C++/metatool/src/Controller.cpp:30:
/data/Projets/C++/metatool/src/parser/parser.hpp:73:50: attention : constante caractère multi-caractères
                 from /data/Projets/C++/metatool/src/Controller.cpp:30:
In file included from /data/Projets/C++/metatool/src/Controller.hpp:36,
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: ‘tag_of’ is not a template
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: explicit specialization of non-template ‘parser::boost::fusion::traits::tag_of’
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: ‘struct_tag’ does not name a type
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: ‘struct_size’ is not a template
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: ‘mpl’ has not been declared
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: expected ‘{’ before ‘int_’
/data/Projets/C++/metatool/src/parser/parser.hpp:44: erreur: expected initializer before ‘<’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘struct_member’ is not a template
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: explicit specialization of non-template ‘parser::boost::fusion::extension::struct_member’
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘struct_member’ is not a template
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘parser::boost::fusion::extension::struct_member’ is not a template type
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘struct_member’ is not a template
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘parser::boost::fusion::extension::struct_member’ is not a template type
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘struct_member’ is not a template
/data/Projets/C++/metatool/src/parser/parser.hpp:49: erreur: ‘parser::boost::fusion::extension::struct_member’ is not a template type
/data/Projets/C++/metatool/src/parser/parser.hpp: In constructor ‘parser::parser<Iterator>::parser()’:
/data/Projets/C++/metatool/src/parser/parser.hpp:58: erreur: ‘start’ was not declared in this scope
/data/Projets/C++/metatool/src/parser/parser.hpp:66: erreur: a function call cannot appear in a constant-expression
/data/Projets/C++/metatool/src/parser/parser.hpp:66: erreur: patron de l'argument 2 est invalide
/data/Projets/C++/metatool/src/parser/parser.hpp:66: erreur: invalid type in declaration before ‘;’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:67: erreur: a function call cannot appear in a constant-expression
/data/Projets/C++/metatool/src/parser/parser.hpp:67: erreur: patron de l'argument 2 est invalide
/data/Projets/C++/metatool/src/parser/parser.hpp:67: erreur: invalid type in declaration before ‘;’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:68: erreur: a function call cannot appear in a constant-expression
/data/Projets/C++/metatool/src/parser/parser.hpp:68: erreur: patron de l'argument 2 est invalide
/data/Projets/C++/metatool/src/parser/parser.hpp:68: erreur: invalid type in declaration before ‘;’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:69: erreur: a function call cannot appear in a constant-expression
/data/Projets/C++/metatool/src/parser/parser.hpp:69: erreur: patron de l'argument 2 est invalide
/data/Projets/C++/metatool/src/parser/parser.hpp:69: erreur: invalid type in declaration before ‘;’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:70: erreur: a function call cannot appear in a constant-expression
/data/Projets/C++/metatool/src/parser/parser.hpp:70: erreur: patron de l'argument 2 est invalide
/data/Projets/C++/metatool/src/parser/parser.hpp:70: erreur: invalid type in declaration before ‘;’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:73: erreur: invalid operands of types ‘intandconst char [3]’ to binary ‘operator|’
/data/Projets/C++/metatool/src/parser/parser.hpp:73: erreur: expected ‘)’ before ‘]’ token
/data/Projets/C++/metatool/src/parser/parser.hpp:73: erreur: expected ‘]’ before ‘;’ token
/data/Projets/C++/metatool/src/Controller.cpp: In member function ‘void Controller::start()’:
/data/Projets/C++/metatool/src/Controller.cpp:59: erreur: ‘Data’ was not declared in this scope
/data/Projets/C++/metatool/src/Controller.cpp:59: erreur: expected ‘;’ before ‘data’
/data/Projets/C++/metatool/src/Controller.cpp:61: erreur: ‘data’ was not declared in this scope
                 from /usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp:79,
                 from /usr/include/boost/spirit/home/phoenix/function/function.hpp:11,
                 from /usr/include/boost/spirit/home/phoenix/function.hpp:11,
                 from /usr/include/boost/spirit/include/phoenix_function.hpp:11,
                 from /usr/include/boost/spirit/home/support/terminal.hpp:18,
                 from /usr/include/boost/spirit/home/support/common_terminals.hpp:15,
                 from /usr/include/boost/spirit/home/lex/lexer/terminals.hpp:13,
                 from /usr/include/boost/spirit/home/lex/lexer.hpp:13,
                 from /usr/include/boost/spirit/home/lex.hpp:13,
                 from /usr/include/boost/spirit/home/lex/lexer_lexertl.hpp:15,
                 from /usr/include/boost/spirit/include/lex_lexertl.hpp:16,
                 from /data/Projets/C++/metatool/src/Controller.hpp:35,
                 from /data/Projets/C++/metatool/src/Controller.cpp:30:
/usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp: At global scope:
/usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp: In instantiation of ‘boost::phoenix::detail::function_eval<1>::result<boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> > >’:
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52,
/usr/include/boost/spirit/home/phoenix/core/detail/composite_eval.hpp:89:   instantiated from ‘boost::phoenix::detail::composite_eval<2>::result<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
/usr/include/boost/spirit/home/phoenix/core/composite.hpp:61:   instantiated from ‘boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >::result<boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
/usr/include/boost/spirit/home/phoenix/core/actor.hpp:56:   instantiated from ‘boost::phoenix::eval_result<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
/usr/include/boost/mpl/eval_if.hpp:38:   instantiated from ‘boost::mpl::eval_if<mpl_::bool_<false>, boost::mpl::identity<boost::phoenix::detail::error_expecting_arguments>, boost::phoenix::eval_result<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >’
/usr/include/boost/spirit/home/phoenix/core/actor.hpp:87:   instantiated from ‘boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >’
/data/Projets/C++/metatool/src/parser/parser.hpp:74:   instantiated from ‘parser::parser<Iterator>::parser() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp:116: erreur: wrong number of template arguments (1, should be 2)
/usr/include/boost/spirit/home/phoenix/stl/container/container.hpp:484: erreur: provided fortemplate<class C, class Arg> struct boost::phoenix::stl::push_back::result’
/usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp: In instantiation of ‘boost::phoenix::detail::function_eval<1>::result<boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_>, boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> > >’:
/usr/include/boost/spirit/home/phoenix/core/detail/composite_eval.hpp:89:   instantiated from ‘boost::phoenix::detail::composite_eval<2>::result<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
/usr/include/boost/spirit/home/phoenix/core/composite.hpp:61:   instantiated from ‘boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >::result<boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
/usr/include/boost/spirit/home/phoenix/core/actor.hpp:56:   instantiated from ‘boost::phoenix::eval_result<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >’
/usr/include/boost/mpl/eval_if.hpp:38:   instantiated from ‘boost::mpl::eval_if<mpl_::bool_<false>, boost::mpl::identity<boost::phoenix::detail::error_expecting_arguments>, boost::phoenix::eval_result<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >, boost::phoenix::basic_environment<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >’
/usr/include/boost/spirit/home/phoenix/core/actor.hpp:87:   instantiated from ‘boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >’
/data/Projets/C++/metatool/src/parser/parser.hpp:74:   instantiated from ‘parser::parser<Iterator>::parser() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/usr/include/boost/spirit/home/phoenix/core/detail/function_eval.hpp:126: erreur: wrong number of template arguments (1, should be 2)
/usr/include/boost/spirit/home/phoenix/stl/container/container.hpp:484: erreur: provided fortemplate<class C, class Arg> struct boost::phoenix::stl::push_back::result’
                 from /data/Projets/C++/metatool/src/Controller.cpp:30:
/data/Projets/C++/metatool/src/parser/parser.hpp: In constructor ‘parser::parser<Iterator>::parser() [with Iterator = __gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >]’:
In file included from /data/Projets/C++/metatool/src/Controller.hpp:36,
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/data/Projets/C++/metatool/src/parser/parser.hpp:74: erreur: cannot convert ‘const boost::proto::exprns_::expr<boost::proto::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const char (&)[9]>, 0l>, const boost::proto::exprns_::expr<boost::proto::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type>&, boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >&>, 0l> >, 2l>&>, 1l>&>, 2l>’ to ‘int’ in assignment
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/data/Projets/C++/metatool/src/parser/parser.hpp:75: erreur: cannot convert ‘const boost::proto::exprns_::expr<boost::proto::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const char (&)[11]>, 0l>, const boost::proto::exprns_::expr<boost::proto::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type>&, boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >&>, 0l> >, 2l>&>, 1l>&>, 2l>’ to ‘int’ in assignment
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/data/Projets/C++/metatool/src/parser/parser.hpp:76: erreur: cannot convert ‘const boost::proto::exprns_::expr<boost::proto::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const char (&)[9]>, 0l>, const boost::proto::exprns_::expr<boost::proto::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type>&, boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >&>, 0l> >, 2l>&>, 1l>&>, 2l>’ to ‘int’ in assignment
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/data/Projets/C++/metatool/src/parser/parser.hpp:77: erreur: cannot convert ‘const boost::proto::exprns_::expr<boost::proto::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const char (&)[9]>, 0l>, const boost::proto::exprns_::expr<boost::proto::tag::dereference, boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::subscript, boost::proto::argsns_::list2<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type>&, boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const boost::phoenix::actor<boost::phoenix::composite<boost::phoenix::detail::function_eval<1>, boost::fusion::vector<boost::phoenix::value<boost::phoenix::stl::push_back>, boost::phoenix::value<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type> >, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> > >&>, 0l> >, 2l>&>, 1l>&>, 2l>’ to ‘int’ in assignment
/data/Projets/C++/metatool/src/Controller.cpp:52:   instantiated from here
/data/Projets/C++/metatool/src/parser/parser.hpp:78: erreur: cannot convert ‘const boost::proto::exprns_::expr<boost::proto::tag::shift_right, boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal, boost::proto::argsns_::term<const char (&)[6]>, 0l>, const boost::proto::exprns_::expr<boost::proto::tag::dereference, boost::proto::argsns_::list1<boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::fusion::unused_type, boost::fusion::unused_type>&>, 1l>&>, 2l>’ to ‘int’ in assignment
gmake[2]: *** [build/Debug/GNU-Linux-x86/_ext/data/Projets/C++/metatool/src/Controller.o] Erreur 1
gmake[2]: quittant le répertoire « /data/Projets/C++/metatool »
gmake[1]: *** [.build-conf] Erreur 2
gmake[1]: quittant le répertoire « /data/Projets/C++/metatool »
gmake: *** [.build-impl] Erreur 2
BUILD FAILED (exit value 2, total time: 9s)
Je vous remercie par avance de votre précieuse aide