मैं जानना चाहता हूं कि क्या वे वैक्टर में तत्वों तक पहुंचने के लिए एक सामान्य इटरेटर कर सकते हैं। मेरे पास विभिन्न वैक्टरों के लिए है लेकिन तत्वों को प्रदर्शित करने के लिए केवल एक ही कार्य है। यदि मेरे पास मेरी विधि से सामान्य जेनरेटर हो सकता है तो आसानी से काम कर सकता है। अगर यह संभव है तो कृपया सलाह दें।जेनेरिक इटरेटर वैक्टर तक पहुंचने के लिए
प्वाइंट 2, प्वाइंट 3, लाइन 2, लाइन 3 4 अलग-अलग वर्ग हैं। विधि एक वेक्टर ऑब्जेक्ट में ले जाती है जिसे मैंने किसी अन्य विधि में बनाया है।
template <typename VecObject>
void Display(VecObject v) {
if (filterCriteria == "Point2") {
vector<Point2>::iterator it;
} else if (filterCriteria == "Point3") {
} else if (filterCriteria == "Line2") {
} else if (filterCriteria == "Line3") {
}
for (it = v.begin(); it!=v.end(); ++it) {
cout << *it << endl;
}
}
यह मैं ईलियर करने के लिए उपयोग करता था और यह काम करता था।
template <typename VecObject>
void Display(const VecObject& v) {
typename VecObject::const_iterator it;
for (it = v.begin(); it!=v.end(); ++it) {
cout << *it << endl;
}
}
ध्यान दें कि मैं करने के लिए हस्ताक्षर बदल दिया है: मैं अब iterators
//for (int i = 0; i < v.size(); i++) {
// cout << v[i];
// }
सी ++ का कौन सा संस्करण उपयोग करते हैं? –
@DenisErmolin बेसिक मुझे लगता है .. लेकिन मुझे यकीन है कि मैं C++ 11 –
@DenisErmolin का उपयोग नहीं कर रहा हूं, मैं C++ के लिए नया हूं इसलिए मुझे यकीन नहीं है कि –