मैंने अपनी .hpp फ़ाइल में ++ के लिए ओवरलोडेड ऑपरेटर बनाया है और फिर एक फ़ंक्शन जो इसे .hpp फ़ाइल में भी कॉल करता है। .cpp फ़ाइल तब फ़ंक्शन को कॉल करती है लेकिन जब फ़ंक्शन ++ कोड पर जाता है तो यह अधिभारित ऑपरेटर को एंटर नहीं करता है बल्कि इसके बजाय ++ के लिए डिफ़ॉल्ट ऑपरेशन ऑपरेटर का उपयोग करता है। यह मेरे अधिभारित ऑपरेटर का उपयोग क्यों नहीं कर रहा है?यह ++ के लिए मेरे अधिभारित ऑपरेटर का उपयोग क्यों नहीं कर रहा है?
यहाँ ++ के लिए ऑपरेटरों है: यहाँ
iterator& operator ++() { // pre-increment
std::list<value_type>::iterator i = listOfValues.begin();
advance(i,1);
return &*i;
}
Square_List operator ++ (int) { // post-increment
std::list<value_type>::iterator i = listOfValues.begin();
advance(i,1);
return &*i;
}
और समारोह में यह उपयोग कर रहा है:
template <typename A_>
void testerIncrement(A_ toInc)
{
toInc = listOfValues.begin();
cout << "\n" << *toInc;
++toInc;
cout << "\n" << *toInc;
++toInc;
}
और अंत में .cpp फ़ाइल में समारोह के लिए कॉल
ca.testerIncrement(ca.listOfValues.begin());