بازگرداندن مقدار بازگشتی از lambda از تابع - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

بازگرداندن مقدار بازگشتی از lambda از تابع

+2 امتیاز

من می خوام یک مقدار از داخل lambda رو برگدونم هر کار کردم نشد

چیزایی که امتحان کردم :

 int func()
{
    [](){

        return 1;
    };
}

 int func()
{
    return [](){

        return 1;
    };
}
int func()
{
   return (int)([](){

       return 1;
   });
}

 

چه کار کنم ؟!

سوال شده اسفند 13, 1392  بوسیله ی Mx (امتیاز 14)   1 2

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

باید lambda رو صدا هم بزنی.  

() رو یادت رفته بزاری

int func(){
   return []()->int{return 1; }();
}

چند تا روش دیگه :

int func(){
   auto m= []()->int{return 1; };
   return m();
}
int func(){
    int r=0;
   [&r](){r=1;}();
   return r;
}

 

پاسخ داده شده اسفند 13, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اسفند 13, 1392 بوسیله ی Ali Rahbar
...