Я хотел бы скопировать содержимое vector
в один длинный string
с пользовательским разделителем. До сих пор я пробовал:
// .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)
но я получаю странные символы в строке.
Может ли кто-нибудь помочь мне понять, что ожидает компилятор здесь?