文件流对象中部分显示未定义标识符

问题遇到的现象和发生背景

为什么file1没有报错,file2和file3调用函数时显示未定义标识符?

问题相关代码,请勿粘贴截图
#include<iostream>
using namespace std;
#include<fstream>
#include<cctype>
#include<stdlib.h>
int main()
{
    fstream file1, file2,file3;//定义文件流对象
    file1.open("file1.txt",ios::in);//打开文件1
    if (!file1)//文件1打开检查
    {
        cout << "File1 open error!" << endl;
        exit(0);
    }
    file2.open("file2.txt", ios::in);//打开文件2
    if (!file2)//文件2打开检查
    {
        cout << "File2 open error!" << endl;
        exit(0);
    }
    file3.open("file3.txt", ios::in);//打开文件3
    if (!file3)//文件2打开检查
    {
        cout << "File3 open error!" << endl;
        exit(0);
    }
}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果