Boost Spirit Auto Parser失败了双打的元组
-
12-11-2019 - |
题
在以下代码上,我正在尝试使用 Boost Spirit自动解析器用于序列或两个双打,但它不编译。我在这里做错了什么?
// file main.cpp
#include <boost/tuple/tuple.hpp>
#include <boost/spirit/include/qi.hpp>
namespace qi = boost::spirit::qi;
int main()
{
boost::tuple<double, double> p;
char* i = 0;
qi::phrase_parse( i, i, p, qi::space );
// qi::phrase_parse( i, i, qi::double_ >> qi::double_, qi::space, qi::skip_flag::postskip, p );
return 0;
}
.
注释的行编译,因此它接受生成的属性类型的生成类型的属性类型;但它无法从属性类型获取解析器。为什么?
解决方案
它与你的其他问题 - 使用boost::fusion::vector
。
其他提示
它为ME编译(g ++ 4.6.1 / boost 1.46.1)如果我添加以下内容给您的程序:
#include <boost/fusion/adapted/boost_tuple.hpp>
.
我相信此适应提升::元组是符合序列复合属性规则所需的符合提升::融合序列:
graham
不隶属于 StackOverflow