से गुजरने के बाद lvalue संदर्भ अमान्य हो गया है क्या कोई यह बताएगा कि "पहचान" फ़ंक्शन, foo1
से गुजरने के बाद संदर्भ क्यों अमान्य हो गया? A
पर "पता" नहीं है और foo1
द्वारा लौटाया गया है?पहचान फ़ंक्शन
struct A {
A(int x) : x_(x) {}
int x_;
};
int main() {
function<const A&(const A& r)> foo1 = [](const A& r) {
return r;
};
vector<A> vec{1, 2, 3};
cout << foo1(vec[0]).x_ << endl; // RUNTIME ERROR
return 0;
}
समस्या लाइन में क्या अंतर से करता है:
const A& r = vec[0];
const A& r1 = r;
मैं vs2015 के साथ की कोशिश की और अपने कोड अच्छी तरह से काम करता है भी है। – alangab
@alangab VS2013 में काम नहीं किया था। –
मैंने सोचा था कि लैम्ब्डा को 'मूर्ख' कहा जाता था। वह मूर्ख था। –