Problem with my method in C++ -


मेरे पास एक ऐसा वर्ग है:

  वर्ग क्यूटी {सार्वजनिक: क्यूटी (); क्यूटी (बीएमपी आईएमजी, इंट डी); निजी: कक्षा क्यूटीनोड {सार्वजनिक: क्यूटीएनोड * nwChild; // पॉइंटर को उत्तर-पश्चिमी बच्चे क्यूटीनोड * नीचल्ड; // सूचक पूर्वोत्तर बाल क्यूटीएनोड * swChild; दक्षिणपश्चिमी बच्चे के लिए // पॉइंटर; क्यूटीनोड * सेशुल्ड; // दक्षिण-पूर्व बच्चे आरजीबीए पिक्सेल तत्व के सूचक; // इस नोड के "डेटा" क्यूटीएन्ड () के रूप में संग्रहीत पिक्सेल; क्वाटट्री नोड कॉपी (क्वाडट्रीनोड एंड एन); };   

और इसलिए प्रश्न कॉपी विधि पर है। यह एक दिए गए नोड की एक प्रति बना देता है और इसे वापस देता है।

  क्यूटीनेोड क्यूटी :: क्यूटीनेोड :: कॉपी (क्यूटीनोड & amp; एन) {क्यूटीनोड * न्यूनोड; // .... नया नोड लौटें; }   

और उसके बाद मैं अपने क्यूटी कॉपी निर्माता से प्रतिलिपि कॉल करता हूं:

  root = QtreeNode :: copy (* tree.root); / / प्रत्येक पेड़ में रूट पॉइंटर / / यहां कई अलग-अलग चीज़ों की भी कोशिश हुई है, लेकिन वास्तव में पता नहीं है कि   

को मुझे क्या करना है:

 < कोड> त्रुटि: सदस्य फ़ंक्शन कॉल नहीं कर सकता है ?? क्यूटी :: क्यूटीनेोड * क्यूटी :: क्यूटीनेोड :: कॉपी (क्यूटीरी :: क्यूटीनेोड & amp;) ऑब्जेक्ट और त्रुटि के बिना: कॉल करने के लिए कॉल करने के लिए कोई मिलान समारोह (क्यूटी :: क्यूटीनोड & amp;)    

प्रयास करें:

  स्थिर QuadtreeNode कॉपी (QuadtreeNode & Amp; n;);   

या बेहतर बनाने वाले प्रतिलिपि बनाएँ।

कॉपी करें उदाहरण विधि है, इसका मतलब है कि इसे केवल प्रदान किए गए ऑब्जेक्ट के साथ चलाया जा सकता है फ़ंक्शन के रूप में यह आंतरिक हस्ताक्षर है:

  QuadtreeNode कॉपी (क्यूटीनोड *, क्वाटटीनोड & amp; n);   

तो आपको मापदंडों को पार करना होगा। नोटेशन obj- & gt; कॉपी (..) का उपयोग किया जाता है, लेकिन यह वास्तव में पहले पैरामीटर के रूप में obj गुजर रहा है।

Comments