如何使用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'
答案 0 :(得分:9)
运营商&gt;&gt;修改流,所以不要通过const传递,只是引用。
答案 1 :(得分:3)
使用非const引用:
void foo(std::istream& in) {
std::string tmp;
while(in >> tmp) {
std::cout << tmp;
}
}
答案 2 :(得分:1)
你正在以正确的方式做到这一点。您确定要包含所需的所有标题吗? (<string>
和<iostream>
)?