Vérifier si un fichier s'est correctement ouvert avec ifstream

J'ai le texte suivant qui va ouvrir un fichier pour le lire. Cependant, je veux vérifier que le fichier a été ouvert avec succès, je suis donc à l'aide de l'échec pour voir si les indicateurs ont été définies. Cependant, je reçois l'erreur suivante:

Je suis novice en C++, comme je viens de C. Donc, pas sûr que je comprends cette erreur:

ne peut pas appeler la fonction membre ‘bool std::basic_ios<_CharT,
_Traits>::fail() const [avec _CharT = char, _Traits = std::char_traits] " sans objet

Code:

int devices::open_file(std::string _file_name)
{
    ifstream input_stream;

    input_stream.open(_file_name.c_str(), ios::in);

    if(ios::fail() == true) {
        return -1;
    }

    file_name = _file_name;

    return 0;
}

source d'informationauteur ant2009