没有重载函数的实例“getline”匹配参数列表

时间:2013-11-06 01:16:57

标签: c++ getline istream

fstream和字符串inlcusions位于.h文件中。我已经阅读了多个人的问题,但似乎无法将其应用到我自己的问题上。我试过放入infile.getfile(dataFile,line))无济于事。 dataFile只是一个员工列表。我仍然使用getfile(dataFile,line)

获得相同的重载函数实例
{

    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;
                }   
            }
        }
    }
}

2 个答案:

答案 0 :(得分:3)

while (getline(dataFile, line))

第一个参数是流,第二个参数是将分配行的字符串。你得到了第二个参数,但第一个参数是string对象,而不是从中提取行的文件流。您应该传递流inFile

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

答案 1 :(得分:1)

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

因此,代替getline(dataFile, line),您的意思是getline(infile, line)

错字,我确定。