] हालांकि, कैप्चर की विधि यह निर्धारित करती है कि क्या चर संदर्भ या मूल्य द्वारा एक्सेस किया गया है या नहीं। निम्नलिखित कोड पर विचार करें:
#में शामिल हैं
#include
std :: function make_function (int & x) {
वापसी [&] {std :: cout यह कोड [&] सिंटैक्स का उपयोग करके संदर्भ द्वारा चर x को कैप्चर करता है। यह सवाल उठता है कि क्या यह कार्यक्रम अपरिभाषित व्यवहार को आमंत्रित किए बिना आउटपुट 5 की गारंटी देता है। अंतर्निहित मानक शब्दांकन की जांच करने से पहले, यह ध्यान रखना महत्वपूर्ण है कि यह कोड सी समिति द्वारा अभिप्रेत के रूप में कार्य करता है। हालाँकि, C 11 मानक का प्रारंभिक शब्द इस मामले पर स्पष्ट नहीं था, जिससे CWG अंक 2011 को स्पष्टीकरण प्रदान करने के लिए उठाया गया। इस समस्या को सी मानक के चल रहे विकास में संबोधित किया जा रहा है। संदर्भ द्वारा कैप्चर की गई संस्थाओं का उल्लेख करते हुए आईडी-व्यक्तियों को अकेला छोड़ दिया जाता है और उसी इकाई को निरूपित करना जारी रखा जाता है जो उन्होंने संलग्न दायरे में निरूपित किया होगा। इसलिए, लैम्ब्डा अभिव्यक्ति में संदर्भ x मुख्य फ़ंक्शन में घोषित मूल चर को संदर्भित करता है। हालांकि, ऐसे सीमित परिदृश्य हैं जिनमें एक संदर्भ को उसके जीवनकाल के बाहर संदर्भित किया जा सकता है। आम तौर पर, एक संदर्भ या तो दायरे में घोषित किया जाता है या एक वर्ग सदस्य होता है, जिस स्थिति में वर्ग अपने जीवनकाल के भीतर होना चाहिए। इस खामियों को लैम्ब्डा अभिव्यक्तियों में संदर्भ द्वारा संदर्भों को कैप्चर करने की अनुमति दी गई थी। इस मुद्दे के संकल्प ने अनजाने में संदर्भों के संदर्भ में लैम्ब्डा कैप्चर के लिए विनिर्देश को प्रभावित किया। हालांकि, यह उम्मीद की जाती है कि यह प्रतिगमन C 17 की रिहाई से पहले तय हो जाएगा।