मैं एक कस्टम डेलीमीटर के साथ vector
की सामग्री को एक लंबे string
पर प्रतिलिपि बनाना चाहता हूं। अब तक, मैं कोशिश की है:std :: वेक्टर स्ट्रिंग करने के लिए
// .h
string getLabeledPointsString(const string delimiter=",");
// .cpp
string Gesture::getLabeledPointsString(const string delimiter) {
vector<int> x = getLabeledPoints();
stringstream s;
copy(x.begin(),x.end(), ostream_iterator<int>(s,delimiter));
return s.str();
}
लेकिन मैं
no matching function for call to ‘std::ostream_iterator<int, char, std::char_traits<char> >::ostream_iterator(std::stringstream&, const std::string&)’
मैं charT*
साथ की कोशिश की है, लेकिन मैं मिल
error iso c++ forbids declaration of charT with no type
फिर मिल रहा char
और ostream_iterator<int>(s,&delimiter)
लेकिन का उपयोग कर की कोशिश की मुझे स्ट्रिंग में अजीब अक्षर मिलते हैं।
क्या कोई मुझे समझने में मदद कर सकता है कि संकलक यहां क्या अपेक्षा कर रहा है?
हाँ यह अच्छा नहीं होगा अगर संकलक ने आपको बताया कि यह किस प्रकार की उम्मीद कर रहा था। संयोग से आप अपने अंतिम तत्व के बाद भी एक अल्पविराम प्राप्त करेंगे। – CashCow
सबसे शानदार तरीका यह है कि http://stackoverflow.com/a/6334153/2056686 – StefanQ