int function1(string data){
stringstream ss(data);
return function2(ss);
}
int function2(stringstream& ss){
string val;
getline(ss,val,',');
return stoi(val);
}
Если изменить function2 ккак GetLine работает в этом коде
int function2(stringstream ss){...}
Это не работает. Я хотел бы знать, почему? Ошибка compliation является
использование удаленной функции «станд :: basic_stringstream < _CharT, _Traits, _Alloc> :: basic_stringstream (Const станд :: basic_stringstream < _CharT, _Traits, _Alloc> &) [с _CharT = полукокса; _Traits = std :: char_traits; _Alloc = std :: allocator] '
И еще один вопрос: мне любопытно, как работает getline. Как и код ниже:
while(!getline(ss,val,','))
cout<<val;
Как getline отслеживает положение итератора после одной итерации?
Объяснить "не работает"? Вы получаете ошибку компилятора или ошибку времени выполнения? –
'getline()' не несет ответственности за позицию в потоке _ ** ** (подсказка). –
@DavidThomas не могли бы вы объяснить больше? Я действительно не знаю –