请教一下这个错误如何修改

不知道这个错误如何修改
代码如下


#include<iostream>
#include "Identity.h"
using namespace std;
#include<fstream>
#include <string>
#include "globalFile.h"
void LoginIn(string fileName,int type)
{
    //父类指针,用于指向子类对象
    Identity * person=NULL;
    //读文件
    ifstream ifs;
    ifs.open(fileName,ios::in);
}

最后一行报错
错误 1 error C2664: “void std::basic_ifstream<_Elem,_Traits>::open(const wchar_t *,std::ios_base::openmode,int)”: 不能将参数 1 从“std::string”转换为“const wchar_t *”

最后一行“ ifs.open(fileName, ios::in)”出错,你的“fileName”是string类型,open函数的参数是C风格字符串,参数类型不匹配。
解决方案:可以将你这个函数的第一个参数fileName的类型改为const char* ,即“ void LoginIn(const char* fileName, int type)”;或是调用string类的c_str()方法将string转化为C风格字符串格式,也就是将调用open的一段改为“ifs.open(fileName.c_str(), ios::in)

改成

ifs.open(fileName.c_str(),ios::in);