我有一个名为 parser
的类:
class parser {
const std::istream& stream;
public:
parser(const std::istream& stream_) : stream(stream_) {}
~parser() {}
void parse();
};
在 parser::parse
中,我想遍历每一行,所以我使用 std::getline
:
std::getline(stream, line)
但是,编译器给我这个错误:
src/parser.cc:10:7: error: no matching function for call to 'getline' std::getline(stream, line); ^~~~~~~~~~~~
但是 std::getline
的第一个参数是 std::istream&
类型的,对吗?我可能做错了什么?
最佳答案
getline
的第一个参数是 istream&
类型,不是 istream const &
。 (从流中读取会改变其状态。)从 parser::stream
成员中删除 const
限定符。
关于c++ - 没有匹配函数调用 'getline',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8140739/