不能在boost :: spirit中添加double规则

时间:2015-10-29 14:19:06

标签: c++ boost boost-spirit rule

我尝试为boost编译器示例添加“double”: 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 :: variant :: make_initializer_node :: apply :: initializer_node :: initialize':对重载函数的模糊调用...

我也尝试添加long_type,但这也不行,但其他类型如hex_type工作正常。

所以我在一条规则中不能有多种数字类型?

0 个答案:

没有答案