निम्नलिखित कार्यक्रम पर विचार करें। लिनक्स के तहत मुझे मिलता है:टेम्पलेट निरंतर प्रकार रूपांतरण लिनक्स (जीसीसी) के तहत काम नहीं कर रहा ऑपरेटर
test.cc: In function ‘int main()’:
test.cc:17: error: passing ‘const Pack<8>’ as ‘this’ argument of ‘Pack<s>::operator X&() [with X = double, int s = 8]’ discards qualifiers
क्यों? यह कॉन्स प्रकार रूपांतरण ऑपरेटर क्यों नहीं ले रहा है? मैं इसे कैसे ठीक कर सकता हूं और अभी भी सुविधाजनक टेम्पलेट प्रकार रूपांतरण ऑपरेटर (कॉन्स और कॉन्स्ट संस्करण नहीं) में है। धन्यवाद!
मुझे GCC (और Comau) के साथ एक अलग त्रुटि मिल रही है। यह कोई रूपांतरण समारोह नहीं मिला है। शायद क्योंकि यह 'ऑपरेटर डबल()' जैसे रूपांतरण फ़ंक्शन की तलाश में है और उपयुक्त नहीं है (क्योंकि प्रदत्त वाले के पास भी संदर्भ है)। - यदि यह पहली जगह में एक अच्छा विचार है, तो नामित सदस्य फ़ंक्शन का उपयोग क्यों न करें? – UncleBens
@UncleBens, आप सही हैं, नीचे देखें। –
मैं ऑपरेटर डबल() का उपयोग नहीं करना चाहता, क्योंकि पैक क्लास किसी भी प्रकार से परिवर्तनीय होना चाहिए। मैंने जो उदाहरण पोस्ट किया है वह समस्या को प्रदर्शित करने के लिए नीचे छीन लिया गया है। – Nathan