int i;
vector<string> names;
string s = "penny";
names.push_back(s);
i = find(names.begin(), names.end(), s);
cout << i;
मैं वेक्टर में किसी तत्व की अनुक्रमणिका ढूंढने का प्रयास कर रहा हूं। यह iterators
के साथ ठीक है, लेकिन मैं इसे int
के रूप में चाहता हूं। मैं यह कैसे कर सकता हूं?इटरेटर को int
भिन्नता आप कर सकते हैं यह संकलक त्रुटि देता है के बाद से मैं पूर्णांक और नहीं इटरेटर है। – thetux4
@ thetux4: ऐसा नहीं करना चाहिए। जब आप दो पुनरावृत्तियों को घटाते हैं तो आपको एक अंतर प्रकार प्राप्त करना चाहिए जो 'std :: vector :: iterator' एक पूर्णांक प्रकार है। –
हां मुझे पता है;) यही कारण है कि आपको अपनी बजाय अपनी लाइन का उपयोग करना चाहिए। ढूंढें() एक पुनरावर्तक देता है और नामों को कम करता है .begin() उस इटरेटर से वेक्टर :: size_type yoields। (एक हस्ताक्षरित पूर्णांक प्रकार - शायद लंबे समय तक अनगिनत कुछ की तरह) –
iolo