मैं निम्नलिखित कोडअपसंदर्भन स्ट्रिंग इटरेटर पैदावार int
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
std::string s("test string");
for(auto i = s.begin(); i != s.end(); ++i)
{
cout << ((*i) != "s") << endl;
}
}
क्यों स्ट्रिंग इटरेटर उपज एक int
और नहीं std::string
अपसंदर्भन करता इस त्रुटि
comparison between pointer and integer ('int' and 'const char *')
मिल सकता है?
आपको 'cout << ((* i)! = 'S') << endl;' लिखना चाहिए (एकल उद्धरण नोट करें)। –
आप एक वर्ण ('* i') की तुलना किसी सूचक के साथ एक स्ट्रिंग (' "s" ') से कर रहे हैं। वह काम नहीं कर सकता है। –
यदि आप पहले से ही 'ऑटो' का उपयोग करते हैं, तो क्यों नहीं 'के लिए' (ऑटो कॉन्स्ट एंड सी: एस) {cout << (c! = 'S') << '\ n'; } '? (ध्यान दें कि आप शायद ही कभी 'endl' और अक्सर \ n'' का उपयोग करना चाहते हैं) – TemplateRex