[英]cannot connect cin with back_insert_iterator
我正在嘗試連接back_inserter_iterator和cin,我知道我可以在cin和back_inserter中使用copy,但是想知道為什么我不能執行以下操作
list<string> name;
back_insert_iterator<list<string>> ins_it(name);
while (cin >> ins_it);
以下是我收到的錯誤消息:
錯誤:無法將'std :: istream {aka std :: basic_istream}'左值綁定到'std :: basic_istream &&'
謝謝
做到這一點的規范方法(如果有這樣的事情):
list<string> name{
istream_iterator<string>{cin},
istream_iterator<string>{}};
要么:
list<string> name;
copy(istream_iterator<string>{cin}, istream_iterator<string>{},
back_inserter(name));
運算符>>()不是插入運算符,它是提取運算符。 后置插入器對象期望插入,而不是提取。 總而言之,沒有運算符>>(istream,插入器)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.