Lambda戻りタイプの指定
600 ワード
Lambda式を使用する場合、戻りタイプを指定しなくてもよい場合がありますが、戻りタイプを指定する必要がある場合があります.No者はエラーが発生します.
どうして?
1.戻りタイプが指定されていない場合.
一般的に、コンパイラはlambdaの戻りタイプを自動的に推定します.例:
2.返却タイプを指定する必要がある場合
lambda関数にreturn文が1つ以上含まれている場合、コンパイラは戻りタイプを推定できません.例:
どうして?
1.戻りタイプが指定されていない場合.
一般的に、コンパイラはlambdaの戻りタイプを自動的に推定します.例:
auto func_1=[] (int I) {return I;}; // int
auto func_2=[] (int I) {cout<
2.返却タイプを指定する必要がある場合
lambda関数にreturn文が1つ以上含まれている場合、コンパイラは戻りタイプを推定できません.例:
auto func_3=[] (int I) { if(I<0) return 0;else return 1;}; // return int , , 。
auto func_3=[] (int I) -> int {if (I<0) return 0; else return 1;}; // ( -> type )