c++ - passing an object variable as const ..& -
मेरे पास ऐसा फ़ंक्शन है जो
bigvalue_t do_bigadd (const bigvalue_t और बायां, const Bigvalue_t & amp; सही) {} और इसे यहाँ बुलाया जा रहा है
bigint bigint :: operator + (const bigint & that) const {bigint परिणाम; परिणाम.बिग_मूल्य = do_bigadd (यह- & gt; बड़ा_मूल्य, that.big_value); } मुझे निम्न संकलन त्रुटि मिल रही है
त्रुटि: गुजर रहा है? Const bigintâ ???? के रूप में एक ?? एक बड़ा बड़ा तर्क :: तर्क (const bigvalue_t & const bigvalue_t & amp;) का तर्क क्वालिफ़ार्स को अस्वीकार करता है [-fpermissive]
मुझे पता है कि क्या गलत है, लेकिन मैं इसे से निपटने का एक तरीका नहीं सोच सकता। मैं कैसे 'इस' के रूप में const bigint और amp; जब यह एक संकेतक है?
आपकी समस्या यह है कि do_bigadd नहीं है < कोड> const (लेकिन यह है const में ऑपरेटर + , और इसलिए आप एक गैर-कॉन्स्ट सदस्य फ़ंक्शन को कॉल करने का प्रयास कर रहे हैं Const वस्तु यह )। आपको do_bigadd const: bigvalue_t do_bigadd (const bigvalue_t और बाएं, const bigvalue_t और दाईं ओर) const {} <बनाने की आवश्यकता है > अगर इसके बदले में do_bigadd में कोई समस्या आती है, तो आपको उन्हें बाहर निकालना होगा हालांकि, इस तथ्य के आधार पर कि आप दोनों operands को do_bigadd से गुजर रहे हैं, मैं सोच रहा हूं कि क्या आप वास्तव में इसके लिए पहले स्थान पर स्थिर या गैर-सदस्यीय फ़ंक्शन बनना चाहते हैं।
Comments
Post a Comment