तर्क-निर्भर लुकअप (एडीएल) फ़ंक्शन-कॉल अभिव्यक्तियों में अयोग्य फ़ंक्शन नामों को देखने के लिए एक प्रोटोकॉल है।
इन फ़ंक्शन कॉल अभिव्यक्तियों में ओवरलोडेड ऑपरेटरों को निहित फ़ंक्शन कॉल शामिल हैं।
फ़ंक्शन नामों को उनके तर्कों के नामस्थानों में देखा जाता है, साथ ही सामान्य अयोग्य नाम लुकअप द्वारा माने जाने वाले स्कोप और नामस्थानों के अलावा। तर्क-निर्भर लुकअप एक अलग नामस्थान में परिभाषित ऑपरेटरों का उपयोग करना संभव बनाता है।
उदाहरण
namespace MyNamespace{ class A {}; void f( A &a, int i) {} } int main() { MyNamespace::A a; f( a, 0 ); //calls MyNamespace::f }
f को फ़ंक्शन कॉल का लुकअप तर्क a पर निर्भर था। वही मामला <<और>> जैसे तर्कों पर लागू होता है, जिन्हें एसटीडी नेमस्पेस में देखा जाता है जब हम कॉउट, सिन, एंडल, आदि जैसी चीजों का उपयोग करते हैं।