如何从 std::istream 读取(使用运算符>>)?
如何使用 operator>>
从 std::istream
读取内容?
我尝试了以下操作:
void foo(const std::istream& in) {
std::string tmp;
while(in >> tmp) {
std::cout << tmp;
}
}
但它给出了一个错误:
error: no match for 'operator>>' in 'in >> tmp'
How can I read from an std::istream
using operator>>
?
I tried the following:
void foo(const std::istream& in) {
std::string tmp;
while(in >> tmp) {
std::cout << tmp;
}
}
But it gives an error:
error: no match for 'operator>>' in 'in >> tmp'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
运算符>> 修改流,因此不要传递 const,仅传递引用。
Operator >> modifies stream, so don't pass by const, just a reference.
使用非常量引用:
Use a non-const reference:
你正在以正确的方式这样做。 您确定包含了您需要的所有标头吗? (
和
)?You're doing that the right way. Are you sure you included all the headers you need? (
<string>
and<iostream>
)?