我尝试为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工作正常。
所以我在一条规则中不能有多种数字类型?