13

我有以下代码:

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&)'

4

1 回答 1

23

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

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

到他们的包含列表中。这是成为std::pair一个成熟的 Fusion 公民所必需的。

于 2011-02-02T12:09:19.210 回答