.net - Implementing GetEnumerator in C++ -


सी # में मेरे पास निम्न श्रेणी है और यह सिर्फ ठीक संकलित है:

class CustomItem { }

  वर्ग के कस्टमलिस्ट: आईआईएलआईटी & lt; कस्टम आईटम & gt; {सार्वजनिक कस्टम आईटीएम इस [इंट इंडेक्स] {get {return null; } सेट {नया नॉन-इम्प्लीमेंटेड एक्सपेशंस () फेंकें; }} सार्वजनिक शून्य copyTo (CustomItem [] सरणी, int arrayIndex) {} सार्वजनिक int गणना {get {return 10; }} पब्लिक इन्ट इंडेक्सऑफ़ (कस्टम आईटम) {नया नॉन इमिलेटेड एक्सप्शन (); } सार्वजनिक शून्य सम्मिलित करें (इंट इंडेक्स, कस्टम आईटम आइटम) {नए नोटिफाइड अपवाद फेंकना; } सार्वजनिक शून्य RemoveAt (इंट इंडेक्स) {नया NotImplementedException फेंकना; } सार्वजनिक शून्य जोड़ें (कस्टम आईटम आइटम) {नया नॉन-इम्प्लीमेंटेड एक्सपशन () फेंकें; } सार्वजनिक शून्य साफ़ करें () {नया नोटिफाइड अपवाद डालें}; } सार्वजनिक बाल में शामिल हैं (कस्टम आईटम) {नया नॉन इमिलेटेड एक्सपशन (); } सार्वजनिक boolIsReadOnly {प्राप्त {वापस सत्य; }} सार्वजनिक बाल निकालें (कस्टम आईटम) {नया नॉन इमिलेटेड एक्सपशन (); } सार्वजनिक आईएनएनामेटर & lt; कस्टम आईटीम & gt; GetEnumerator () {नई NotImplementedException () को फेंकना; } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () {नया NotImplementedException फेंकना; }}  

जब मैं सी ++ में उसी की कोशिश करता हूं तो मुझे कई कंपाइलर त्रुटियां मिलती हैं:

रेफ़ क्लास CustomItemValue {}; <पूर्व> टाइप किया गया कस्टमआइटममूल्य ^ कस्टम आईटम; रेफ क्लास कस्टमलिस्ट: पब्लिक इलिस्ट एंड लेफ्टिनेंट; कस्टम आईटीएम & gt; {सार्वजनिक: संपत्ति कस्टम आईटीएम डिफ़ॉल्ट [इंट] {आभासी कस्टम आईटीएम मिल (इंट इंडेक्स) {रिटर्न एनलिप्टर; } आभासी शून्य सेट (इंट इंडेक्स, कस्टम आईटीएम वैल्यू) {}} वर्चुअल व्होइड कॉपीटीओ (सरणी & lt; कस्टम आईटीम & gt; ^ सरणी, इंट अरैंड) {} संपत्ति इंटेल गणना {वर्चुअल इन्ट मिल () {रिटर्न 10; }} वर्चुअल इन्टएक्सऑक्साइड (कस्टम आईटम आइटम) {फेंक जीसीएनयू नॉटिंप्लेटेड एक्सपेशेशन (); } आभासी शून्य डालें (इंट इंडेक्स, कस्टम आईटम आइटम) {फेंक जीसीएन्यू नॉटिंप्लेटेड एक्सपेशेशन (); } आभासी शून्य RemoveAt (इंट इंडेक्स) {gcnew NotImplementedException (); } आभासी शून्य जोड़ें (कस्टम आईटम आइटम) {फेंक जीसीएनयू नॉटिंप्लेटेड एक्सपेशेशन (); } आभासी शून्य साफ़ करें () {नई नॉटिंप्लेटेड एक्सपेशेशन (फेंक); } वर्चुअल बूल में शामिल है (कस्टम आईटम) {फॉर जीसीएन्यू नॉटिंप्लेटेड एक्सपेशेशन (); } संपत्ति bool IsReadOnly {आभासी bool get () {वापस सच; }} वर्चुअल बूल निकालें (कस्टम आईटम) {gcnew NotImplementedException (); } आभासी IEnumerator & lt; CustomItem & gt; ^ GetEnumerator () {gcnew NotImplementedException (); } वर्चुअल सिस्टम :: संग्रह :: IEnumerator ^ GetEnumerator () {gcnew NotImplementedException (); }};

संकलक से त्रुटि संदेश हैं:

। \ Mc.cpp (38): त्रुटि C2556: 'सिस्टम :: संग्रह :: IEnumerator ^ customList :: GetEnumerator (शून्य)': अतिभारित कार्य केवल रिटर्न प्रकार से 'सिस्टम :: संग्रह :: जेनेरिक :: IEnumerator ^ customList :: GetEnumerator (शून्य)' से अलग है [ T = CustomItem]। \ Mc.cpp (36): 'कस्टमलिस्ट :: GetEnumerator'। \ Mc.cpp (38) की घोषणा देखें: त्रुटि C2371: 'कस्टमलिस्ट :: GetEnumerator': redefinition; विभिन्न मूलभूत प्रकार। \ Mc.cpp (36): 'कस्टम लिस्ट :: GetEnumerator' की घोषणा देखें

क्या कोई मुझे इसके साथ मदद कर सकता है?

GetEnumerator () दोनों तरीकों को ओवरराइड करने के लिए

आपको माइक्रोसॉफ्ट के विशिष्ट स्पष्ट ओवरराइड वाक्यविन्यास का उपयोग करने की आवश्यकता है:

  आभासी सिस्टम: : संग्रह :: IEnumerator ^ GetEnumerator2 () = सिस्टम :: संग्रह :: IEnumerable :: GetEnumerator {फेंक जीसीएनई NotImplementedException (); } आभासी IEnumerator & lt; CustomItem & gt; ^ GetEnumerator () {gcnew NotImplementedException (); }  

ध्यान दें कि मैंने GetEnumerator2 को गैर-जेनेरिक GetEnumerator विधि का नाम बदला है, तो यह निर्दिष्ट करता है कि यह सिस्टम :: संग्रह :: IEnumerable :: GetEnumerator को ओवरराइड करता है। आप स्पष्ट ओवरराइड के बारे में और अधिक जानकारी प्राप्त कर सकते हैं


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -