আমি অবাক হয়েছি যদি এমন একটি ফাংশন লেখা সম্ভব হয় যা C ++ 11 এ ল্যাম্বডা ফাংশনটি ফেরত দেয়। অবশ্যই একটি সমস্যা হ'ল এই জাতীয় ফাংশন কীভাবে ঘোষণা করা যায়। প্রতিটি ল্যাম্বডায় একটি প্রকার থাকে তবে সেই ধরণটি সি ++ তে প্রকাশযোগ্য নয়। আমি মনে করি না এটি কাজ করবে:
auto retFun() -> decltype ([](int x) -> int)
{
return [](int x) { return x; }
}
না এটি:
int(int) retFun();
আমি ল্যাম্বডাস থেকে ফাংশনগুলিতে পয়েন্টার, বা এ জাতীয় কিছুতে স্বয়ংক্রিয় রূপান্তর সম্পর্কে অবগত নই। একমাত্র সমাধানটি কোনও ফাংশন অবজেক্টটিকে হ্যান্ডক্র্যাফ্ট করে এটি ফিরিয়ে দেবে?