В следующем коде я пытаюсь использовать Boost Spirit Auto Parser для последовательности или двух двухместных, но он не компилируется. Что я здесь делаю неправильно?Boost Spirit Auto Parser не подходит для набора парных разрядов
// 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_
; но он не может получить парсер из типа атрибута. Зачем?