2

任意の関数のような方法でラッパーを生成したい

R func(A a, B b, ...)

std::function<std::string (std::vector<std::string>)>

が返されf、パラメータがベクトルから取得されboost::lexical_cast、戻り値と同じように で変換 (試行) されるようにラップされます。例えば:

int add(int a, int b);

auto f = magic_wrap(&add);
auto result = f(std::vector<std::string>{"2", "3"});
// result == "5"

私の直感では、これは可変個引数テンプレートで可能であるはずですが、関数の戻り値とパラメーターの型を取得することに行き詰まっています。これはどういうわけか可能ですか?

4

1 に答える 1