मैं सदस्य कार्यों में से एक के लिए वैकल्पिक तर्क देना चाहता हूं। जब कोई तर्क प्रदान नहीं किया जाता है, तो यह एक सदस्य चर का उपयोग करेगा।सी ++ में किसी डिफ़ॉल्ट चर के रूप में सदस्य चर का उपयोग कैसे करें?
हालांकि, जब मैं यह संकलन करने की कोशिश की यह पता चलता है "त्रुटि: गैर स्थैतिक डेटा सदस्य 'वस्तु :: initPos' के अवैध उपयोग"
बस समस्या को अलग करने, किसी पूर्णांक प्रकार मैं दोषी की कोशिश की और यह ठीक संकलित। मुझे आश्चर्य है कि मेरे कोड में समस्या क्या है और मैं सदस्य फ़ंक्शन को डिफ़ॉल्ट मान के रूप में कैसे उपयोग कर सकता हूं।
आपकी मदद के लिए धन्यवाद!
Object.h
class Object
{
public:
...
void MoveTo(double speed, Point position);
protected:
Point initPos;
Point currPos;
};
Object.c
void Object::MoveTo(double speed, Point position = initPos)
{
currPos = postion;
}
Point.h
class Point
{
...
private:
double x;
double y;
double z;
};
आपका प्रश्न मुझे अंडे बना यह एक: http://stackoverflow.com/questions/9286801/valid-expressions-for-default-function-arguments –