我正在尝试构建一个解析器,它接受“/integer/(/integer/)”形式的字符串并生成一个 std::tuple 现在我有:
qi::rule<string::iterator,std::tuple<int,int>()> parser =
(qi::int_ >> '(' >> qi::int_ >> ')')[_val = std::make_tuple(qi::_1,qi::_2)]
哪个不会编译,因为占位符 qi::_i 不是正确的类型。如何从占位符中“提取”基础值?