Как я могу читать с std::istream, используя operator>>?
std::istream
operator>>
Я попробовал следующее:
void foo(const std::istream& in) { std::string tmp; while(in >> tmp) { std::cout << tmp; } }
Но выдает ошибку:
error: no match for 'operator>>' in 'in >> tmp'
Оператор >> изменяет поток, так что не передавайте по константам, просто ссылку.
Используйте неконстантную ссылку:
void foo(std::istream& in) { std::string tmp; while(in >> tmp) { std::cout << tmp; } }
Вы делаете это правильно. Вы уверены, что включили все заголовки, которые вам нужны? (<string> и <iostream>)?
<string>
<iostream>