Невозможно добавить двойное правило в boost :: spirit

Я пытаюсь добавить «двойной» для примера буст-компилятора:
http://www.boost.org/doc/libs/1_47_0/libs/spirit/example/qi/compiler_tutorial/calc8/

Я не могу добавить «double_type» к правилу:

qi::rule<Iterator, ast::operand(), ascii::space_type> unary_expr, primary_expr;
qi::double_type double_;

primary_expr = uint_ | double_ | identifier | bool_ | '(' > expr > ')';

Поскольку код VS2k13 получаю ошибку:

ошибка C2668: ‘boost :: detail :: option :: make_initializer_node :: apply :: initializer_node :: initialize’: неоднозначный вызов перегруженной функции …

Я также пытаюсь добавить long_type, например, и это тоже не работает, но другие типы, такие как hex_type, работают нормально.

Так я не могу иметь несколько числовых типов в одном правиле?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]