Monday 15 June 2015

c++ - Friends, operator keyword and scope resolution -


  नाम स्थान गेमफ़ोरगे {नामस्थान कोर {class CTribool; }} गेमफोर :: कोर :: सीटीबिबल ऑपरेटर! (Const GameForge :: कोर :: सीटीबिबल और आरकेटीब्रबल); नेमस्पेस गेमफ़ोरगे {नामस्थान कोर {वर्ग सीटीबिबल {दोस्त सीटीबिबुल ऑपरेटर! (कॉन्स्ट सीटीबिबल और आरकेटीरिबुल); निजी: ईस्टेट एम_ ईस्टेट; }; }} गेमफोर :: कोर :: सीटीबिबल ऑपरेटर! (Const GameForge :: core :: CTribool & amp; rkTribool) {स्विच (rkTribool.m_eState) {// कुछ सामान ...   

संकलन नहीं करता है क्योंकि m_eState अंतिम परिभाषा के भीतर पहुंच योग्य नहीं है । इसका कारण यह है कि मित्र घोषणा सीटीबिबल नाम स्थान में होती है और इस तरह एक अलग फ़ंक्शन को घोषित करता है। इसलिए मैंने स्कोप रेज़ोल्यूशन ऑपरेटर का अनुसरण करने का प्रयास किया।

  दोस्त CTribool :: ऑपरेटर! (कॉन्स्ट सीटीबिबल और आरकेटीरिबुल);   

और <प्री> मित्र सीटीबिबल: :( ऑपरेटर!) (कॉन्स्ट सीटीबिबल और आरकेटीब्रूल);

लेकिन यह काम नहीं करता है क्योंकि किसी भी तरह से CTribool एक मान्य प्रकार के रूप में मान्यता नहीं है। मुझे संदेह है कि इस मामले में आगे की घोषणा पर्याप्त नहीं है। किसी भी काम के आसपास?

अजीब पर्याप्त है, आपको यह करने की आवश्यकता है:

 < कोड> मित्र CTribool (:: ऑपरेटर!) (कॉन्स्ट सीटीबिबल & amp; आरकेटीबूल);   

आपको यह निर्दिष्ट करना होगा कि आपका कार्य वैश्विक दायरे में है, लेकिन कोष्ठकों के बिना, आपका :: सीटीबिबल से बाध्य होगा, जैसे कि आप यह कर रहे थे: <प्री> मित्र (सीटीबिबल :: ऑपरेटर!) (कॉन्स्ट सीटीबिबल और आरकेटीब्रबल);

उस स्थिति में ऐसा लगता होगा कि आप एक रिटर्न प्रकार के बिना फ़ंक्शन निर्दिष्ट कर रहे थे।

No comments:

Post a Comment