नीचे वर्गों को देखते हुए दो अलग-अलग हेडर फाइल में हैं और किसी भी क्रम में दिखाई दे सकता है:सी ++ कक्षाएं प्रोटोटाइप संघर्ष
//TestB.h
class TestB; //Forward declaration for a later operator= in a centralised header
class TestA
{
const TestA&operator=(const TestB); //defined in Test.h
};
और:
//TestA.h
class TestA; //Forward declaration for a later operator= in a centralised heaer
class TestB
{
const TestB&operator=(const TestA); //defined in Test.h
};
मैं प्रोटोटाइप संघर्ष से कैसे बच सकता हूँ?
सहायता की सराहना की जाती है।
मैं बिल्कुल हर किसी से क्षमा चाहता हूं! मैं वहां संदर्भ के लिए इरादा रखता था (ऑपरेटर = तर्कों में एम्पर्सेंड - मैं कभी भी बार साधारण पीओडी की प्रतिलिपि बनाकर पास नहीं होता) और इसका मतलब केवल प्रोटोटाइप विवादों के बारे में प्रश्न था! मुझे लगता है कि यह सबूत पढ़ने के महत्व को दिखाने के लिए चला जाता है! मैंने मूल (मेरा गलत) संदर्भ दिए गए उत्तर को स्वीकार कर लिया है।
मैं केवल कुछ ही मिनटों के लिए ही दूर हो गया था और गलती से अवगत नहीं था!
आपका क्या मतलब है "प्रोटोटाइप संघर्ष"? –
यहां कुछ भी गलत नहीं है - यह ठीक काम करेगा। आपको त्रुटि को बेहतर तरीके से और वास्तविक कोड के साथ समझाएंगे। –
@ एएलएस: आप मूल्य से अपूर्ण प्रकार ले रहे कार्यों की घोषणा कर सकते हैं; आप टाइप की परिभाषा के बाद तक उन्हें परिभाषित या कॉल नहीं कर सकते हैं। –