Вы можете просто сделать это:
int devices::open_file(std::string _file_name)
{
ifstream input_stream;
input_stream.open(_file_name.c_str(), ios::in);
if(!input_stream)
{
return -1;
}
file_name = _file_name;
return 0;
}
fail () не является статическим методом, вы должны вызывать его для экземпляра, а не типа, поэтому, если вы хотите использовать fail (), замените !input_stream
с input_stream.fail()
в моем коде выше.
Мне действительно интересно, чего вы здесь добиваетесь.Вы открываете файл и немедленно закрываете его снова.Вы просто пытаетесь проверить, существует ли файл?