没有从类型为"basic_istream<char,std::__1::char_traits >"的返回值<char>到函数返回的可行转换
no viable conversion from returned value of type 'basic_istream<char, std::__1::char_traits<char> >' to function return
我有这个错误。
no viable conversion from returned value of type 'basic_istream<char, std::__1::char_traits<char> >' to function return type 'bool'
return (getline(fin,buf))
我将非常感谢任何帮助。我正在尝试编译C 代码。这是我发行的代码行:
bool getInstruction( ifstream & fin , string & buf ) {
return (getline(fin,buf));
}
请注意,std::basic_ios::operator bool
标记为explicit
(因为C 11);getline()
的返回值(std::basic_istream
的实例化)不能隐式转换为bool
。
您可以明确将其转换为bool
。
如果流没有错误并且可以进行I/O操作,则返回
true
。具体来说,返回!fail()
。
,例如
return static_cast<bool>(getline(fin,buf));