用提升精神解析一对整体

时间:2011-02-02 11:45:39

标签: c++ parsing boost boost-spirit

我有以下代码:

std::string test("1.1");
std::pair<int, int> d;

bool r = qi::phrase_parse(
        test.begin(),
        test.end(),
        qi::int_ >> '.' >> qi::int_,
        space,
        d
        );

所以我试图解析字符串测试并将结果放在std :: pair d中。但是它不起作用,我怀疑它与Compound Attribute Rules

有关

有关如何使其正常工作的任何提示?

编译器错误如下:

  

错误:没有匹配的呼叫功能   'std :: pair :: pair(const   INT&安培)'

1 个答案:

答案 0 :(得分:21)

它应该工作。人们经常忘记的是添加

#include <boost/fusion/include/std_pair.hpp>

到他们的包含列表。这对于使std::pair成为一名成熟的Fusion公民来说是必要的。