अगर मेरे पास निम्न है
class A {public: int stuff; शून्य सहायक (बी temp, int d); //यहाँ का क्या? मुझे एक 'बी' मिल रहा है, यहां त्रुटि घोषित नहीं हुई है। निजी: कक्षा बी {सार्वजनिक: इंटस्टेरर; निजी: int x; }; }: मेरी कार्यान्वयन फ़ाइल में कक्षा 2 को संदर्भित करने का सही तरीका क्या है? क्या यह 1 :: 2 :: कुछ विधि होगा? या 2 :: कुछ विधि ?
सबसे पहले, वर्ग का नाम शुरू नहीं हो सकता पूर्णांक के साथ इसलिए उनका नाम बदलना:
वर्ग ए {सार्वजनिक: इंट सामान; निजी: कक्षा बी {सार्वजनिक: इंटस्टेरर; निजी: int x; }; }; दूसरा, चूंकि नेस्टेड क्लास बी निजी अनुभाग में है, इसलिए आप इसे कक्षा <कोड> ए के दायरे के बाहर तक नहीं पहुंच सकते हैं । B केवल ए के लिए सुलभ है और बी प्रकार की वस्तु को घोषित करने का वाक्यविन्यास बी बीओबी; होगा ए के दायरे में। अब अधिक प्रश्न पूछने से पहले, आप अपने आप को पहले प्रयास करना चाहिए!
आपके संपादन के लिए (जोड़ा प्रश्न): यह क्योंकि कंपाइलर को देखकर संकलित नहीं कर रहा है > बी temp , यह अभी तक B की परिभाषा नहीं देखी है, यही कारण है कि यह कहते हैं B घोषित नहीं है! ठीक बहुत सरल है यह प्रयोग करने से पहले बी घोषित करें, इस तरह से कुछ: वर्ग ए {निजी: कक्षा बी {सार्वजनिक: पूर्णांक; निजी: int x; }; सार्वजनिक: इंट सामान; शून्य सहायक (बी temp, int d); }; // & lt; --- यह भी तय है आपके कोड में 'कोलन' है, इसके बजाय अर्द्ध-बृहदान्त्र! क्लास के अंत में टिप्पणी भी पढ़ें!
Comments
Post a Comment