2
は私がのstd ::機能を使用して、戻り値の型がジェネリックしたいのですが、それはコード、機能しません。 デバッグコードを見つけることができます:http://cpp.sh/5bk5std :: functionから戻り値の型を推測する方法は?
class Test
{
public:
template <typename R, typename F = std::function<R()>>
R f(F&& op) {
op();
}
void t() {
int a = 10;
f([this, a]() { return "chars"; });
}
};
int main()
{
t::Test test;
test.t();
return 0;
}
ため
decltype()
を使用する必要が簡単です戻り値の型で? –
void *を使ってみましたか?それはジェシックタイプを持つCishの方法です。 – mgarey