है इसलैम्ब्डा रिटर्न '1' हर समय
#include <iostream>
using namespace std;
int main()
{
cout<<[](){ return 0;};
cout<<[](){ return 3.2;};
cout<<[](){ return true;};
cout<<[](){ return false;};
cout<<[](){ return "Hello world!";};
cout<<[]()->int{ return 0;};
cout<<[]()->double{ return 3.2;};
cout<<[]()->bool{ return true;};
cout<<[]()->bool{ return false;};
cout<<[]()->const char*{ return "Hello world!";};
return 0;
}
की तरह कोड gcc version 4.8.2
के साथ संकलित करें और मेरे उत्पादन केवल 1111111111
है। क्यों केवल "1"?
आप कभी भी भेड़ के बच्चे को नहीं बुलाते: '[]() {वापसी 10;}' बनाम '([]() {वापसी 10;})()'। – Zeta
वीएस 2013 में मुझे त्रुटि संदेश "बाइनरी" मिलता है << ': कोई ऑपरेटर नहीं मिला जो' मुख्य ::
TobiMcNamobi
कोई कैप्चर वाले लैम्ब्डास फ़ंक्शन पॉइंटर पर पूरी तरह से परिवर्तनीय नहीं हैं, जो बदले में 'बूल' के लिए परिवर्तनीय रूप से परिवर्तनीय है। –