初心者の質問かもしれませんが、次のようなコードがあります。
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) {
// ...
}
};
解決策を見つけるために何日も費やしましたが、今のところ運がありません。誰でも助けることができますか?