在下面的代码中,我尝试使用 Boost Spirit Auto Parser对于一个序列或两个 double ,但它不编译。我在这里做错了什么?
// 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::tuple<double, double>
作为 qi::double_ >> qi::double_
的属性类型;但是它无法从属性类型中获取解析器。为什么?
最佳答案
这与您的 other question 中的答案相同- 使用 boost::fusion::vector
代替。
关于c++ - Boost Spirit 自动解析器因 double 元组而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9443131/