没有与参数列表匹配的重载函数"getline"实例

no instance of overloaded function "getline" matches argument list

本文关键字:函数 重载 getline 实例 参数 列表      更新时间:2023-10-16

fstream 和字符串包含在 .h 文件中。我读过很多人的问题,但似乎不能把它应用到我自己的问题上。我试过输入infile.getfile(dataFile,line))无济于事。数据文件只是一个员工列表。我仍然不断得到相同的没有重载函数的实例与getfile(数据文件,行)

{
    ifstream infile;
    infile.open(dataFile);
    if(!infile.good())
    {
        cout << "File is not open";
    }
    else
    {
        int i = 0;
        while(!infile.good())
        {
            string line;
            while (getline(dataFile, line))
            {
                if (line[0] == 'h' ) 
                {
                    HospitalEmployee newEmp;
                }   
            }
        }
    }
}
while (getline(dataFile, line))
第一个参数是

流,第二个参数是将在其中分配行的字符串。第二个参数是正确的,但第一个参数是string对象,而不是将从中提取行的文件流。你应该通过流,inFile

while (getline(inFile, line))
//             ^^^^^^

您的infile.open(dataFile)建议dataFile是字符串文件名,infile是流。

所以,你的意思不是getline(dataFile, line),而是getline(infile, line).

错字,我敢肯定。