में आर और एल मूल्य कंस्ट्रक्टर्स का उपयोग कर मैं इस तरह एक वर्ग टेम्पलेट है। अब जब मैंत्रुटि जब एक टैम्पलेट वर्ग
const A& foo = ...;
MyClass<const A&> x(foo);
की तरह कुछ है मैं MyClass(const A & val)
के लिए परिभाषा त्रुटि मिलती है।
मुझे लगता है इस वजह से टी & & एक सार्वभौमिक संदर्भ है और नियमों गिर संदर्भ की वजह से, दूसरे निर्माता भी पहले के समान हस्ताक्षर होने में परिवर्तित हो जाता।
सबसे पहले त्रुटि परिदृश्य की मेरी समझ सही है? दूसरी बात यह है कि मैं इस समस्या को कैसे प्राप्त कर सकता हूं (मैं उन अनुकूलन का उपयोग करना चाहता हूं जो MyClass का निर्माण करते समय semantics प्रदान करते हैं)?
ठीक है, अब मैं समस्या के आसपास कैसे हो सकता हूं? कन्स्ट्रक्टर पर त्याग किए बिना आर-वैल्यू लेता है? – Arun
@ अरुण ने एक दृष्टिकोण लिखा। एक और होगा ... 'MyClass' को एक स्थिर आवेषण के साथ संदर्भ प्रकारों को लेने की अनुमति न दें और कहीं और लागू करें। – Barry
'एक कॉन्स और कॉन्स '' एक कॉन्स और 'है। 'एक कॉन्स & &&' के लिए डिटो। –