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

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -