前提・実現したいこと
ラムダ式を引数にもち、さらにそのラムダ式の戻り値を引数にする関数を作りたい。
ここに質問の内容を詳しく書いてください。
c++で上記の性質をもつ関数を作りたいのですがどうもうまくいきません。カリー化を用いればうまくいきそうなのですがプログラム初心者で自分なりに調べてみてもどうやればいいかよくわかりません。つたない文章で申し訳ありません。ご教授お願いいたします。
該当のソースコード
c++
1double deriv_fd(std::function<double(double)> f, double x) { 2 double epsilon = 0.00000095367431640625; 3 return (f(x+epsilon) - f(x-epsilon))/(2.0*epsilon); 4} 5 6function<double(double)> deriv(function<double(double)> f) { 7 return [](double x){ 8 return deriv_fd(f, x); 9 }; 10} 11 12int main() 13{ 14 auto df = deriv([](double x) {return x;}); 15 cout << df(1.0) << endl; 16 cout << df(2.0) << endl; 17 return 0; 18}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。