मैं सी ++ 11 lambdas के लिए नया हूँ और एक एकल में अपने दूसरे पैरामीटर जुड़ कर एक द्विआधारी लैम्ब्डा चालू करने के लिए करना चाहते हैं:क्या लैम्ब्डा फ़ंक्शन के दूसरे पैरामीटर को बांधना संभव है?
error: no type named 'first_argument_type' in 'struct main(int, char**)::<lambda(int, int)>'
class binder2nd
साथ
auto lambda1 = [] (int a, int b) { return a+b; };
auto lambda2 = std::bind2nd(lambda1, 5);
संकलन में विफल रहता है [कैसे] क्या यह किया जा सकता है?
'ऑटो lambda2 = [lambda1] (पूर्णांक एक) {वापसी lambda1 (एक, 5); } 'बस' बाइंड 'भूल जाओ, लैम्ब्डा का उपयोग करना आसान है और अधिक पठनीय है। –
'bind2nd' और' 'bind1st' deprecated' और इसलिए साथ प्रतिस्थापित कर रहे हैं' –
@AnkitAcharya bind' सी ++ 17 शायद में, लेकिन अब के रूप में वे अभी भी मान्य हैं। यह वैसे भी सैद्धांतिक हित में है। – oarfish