也许是一个菜鸟问题,我有一段这样的代码:
struct S {
S() {...}
S(int v) {
// ...
}
};
qi::rule<const char*, S(), boost::spirit::ascii::space_type> ip=qi::int_parser<S()>();
qi::rule<const char*, std::vector<S>(), boost::spirit::ascii::space_type> parser %= ip % ',';
...
上面的规则可以工作,但是如果 S 构造函数需要额外的参数,代码就会中断,例如:
struct S {
S(T t) {...}
S(T t, int v) {
// ...
}
};
我花了几天时间寻找解决方案,但到目前为止还没有运气。任何人都可以帮忙吗?