次のコードでは、Boost Spirit Auto Parserを1つまたは2つの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_
ただし、属性タイプからパーサーを取得できません。なんで?