को स्थिरांक फू * वस्तुओं और बयानों के इस सेट करने के बाद:सी ++ प्रकार मेल नहीं खाता समझने नहीं: फू * स्थिरांक और
QSet<Foo*> set;
iterator QSet::insert(const T & value) //type of the function I want to call
const Foo * get() const //type of the function I use to get the argument
set.insert(get()); //the line showing up as error
मैं त्रुटि "कोई 'स्थिरांक फू *' के लिए 'से तर्क 1 के लिए रूपांतरण में जाना जाता प्राप्त फू * कॉन्स & "। मुझे लगता है मुझे इन प्रकारों को पढ़ने में परेशानी है क्योंकि मुझे नहीं पता कि मुझे यह काम करने के लिए क्या करना चाहिए।
जो मैंने पढ़ा है, उससे कॉन्स कीवर्ड शीर्ष-स्तरीय कॉन्स के अपवाद के साथ अपने बायीं ओर प्रकार पर लागू होता है जिसे उस प्रकार के बाईं ओर लिखा जा सकता है, जिस पर यह लागू होता है। मेरा अनुमान है कि मुझे एक संदर्भ में get() को कनवर्ट करना होगा, लेकिन मुझे यकीन है कि यह कैसे करना है।
यह "शीर्ष-स्तर' const' "नहीं है। 'प्राप्त करें()' एक 'सूचकांक' सूचक नहीं, "कॉन्स्ट फू'" के लिए एक सूचक देता है। – Barry
तो मेरी समझ है कि शुरुआत में एक 'const' सब कुछ पर लागू होता है, यह सही था? तब इस तरह के 'const' वास्तव में क्या लागू होता है? –