调用'getline'没有匹配函数

no matching function for call to 'getline'

本文关键字:函数 getline 调用      更新时间:2023-10-16

我有一个类叫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/解析器。Cc:10:7:错误:调用getline没有匹配的函数流std:: getline(线);^~~~~~~~~~~~

但是std::getline的第一个参数是std::istream&类型的,对吗?我能做错什么吗?

getline的第一个参数类型是istream&而不是 istream const &。(从流中读取会改变流的状态。)将const限定符从parser::stream成员中去掉