нет жизнеспособного преобразования из возвращенного значения типа 'basic_istreamк функции возврата - PullRequest
0 голосов
/ 18 декабря 2018

У меня эта ошибка.

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));
}

1 Ответ

0 голосов
/ 18 декабря 2018

Обратите внимание, что std::basic_ios::operator bool помечен как explicit (начиная с C ++ 11);возвращаемое значение getline() (которое является экземпляром std::basic_istream) не может конвертироваться в bool неявно.

Вы можете преобразовать его в bool явно.

Возвращает true, если в потоке нет ошибок и он готов к операциям ввода-вывода.В частности, возвращает !fail().

например

return static_cast<bool>(getline(fin,buf));
...