繁体   English   中英

没有匹配的函数来调用“ getline”

[英]no matching function for call to 'getline'

我有一个叫做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:错误:没有匹配函数可调用“ getline”\n     std :: getline(stream,line);\n     ^ ~~~~~~~~~~~~ 

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM