मैं एक विरासत समारोह है कि इस तरह दिखता है के भीतर एक गैर स्थिरांक समारोह कॉल करने के लिए:कैसे एक स्थिरांक समारोह (C++)
int Random() const
{
return var_ ? 4 : 0;
}
और मैं तो यह है कि अब कि विरासत कोड के भीतर एक समारोह कॉल करने की आवश्यकता इस तरह दिखता है:
int Random() const
{
return var_ ? newCall(4) : 0;
}
समस्या यह है कि मैं इस त्रुटि हो रही है:
In member function 'virtual int Random() const':
class.cc:145: error: passing 'const int' as 'this' argument of 'int newCall(int)' discards qualifiers
अब मुझे पता है क्रम में थी ठीक करने के लिए एस त्रुटि मैं अपने newCall()
एक कॉन्स फ़ंक्शन कर सकता हूं। लेकिन फिर मेरे पास newCall()
में कई funciton कॉल हैं जो मुझे करना है, इसलिए अब मुझे उन सभी फ़ंक्शन कॉल कॉन्स्ट करना होगा। और इतने पर और आगे तक जब तक मुझे लगता है कि आधा मेरा कार्यक्रम नहीं होगा।
मेरा प्रश्न: क्या यादृच्छिक() के भीतर कोई फ़ंक्शन कॉल करने का कोई तरीका है जो स्थिर नहीं है? या किसी के पास को Random()
के भीतर आधे प्रोग्राम प्रोग्राम के बिना लागू करने के बारे में कोई विचार है।
धन्यवाद
-josh
आप रैंडम() गैर-कॉन्स बना सकते हैं। – GWW
मैं चाहता हूं कि रैंडम() विरासत कोड है जिसे मैं वास्तव में स्पर्श नहीं कर सकता। – Grammin
क्या वह 4 निष्पक्ष पासा के साथ चुना गया है (इस प्रकार यह वास्तव में यादृच्छिक बना रहा है)। –