在C ++中使用字符串的getline返回错误:没有重载函数getline的实例与参数列表匹配

时间:2013-02-02 02:24:37

标签: c++ getline

我正在尝试使用getline解析文档以获取整行并将其放在名为“line”的字符串变量中。问题是我收到的错误是:“没有重载函数getline的实例与参数列表匹配。”任何人都可以帮我解决这个问题吗?

#include <iostream>
#include <fstream>
#include <string>
#include "recordsOffice.h"

using namespace std;

RecordsOffice::RecordsOffice()
{

}

void RecordsOffice::parseCommands (string commandsFileName)
{
//String to hold a line from the file
string line;

//Open the file
ifstream myFile;
myFile.open(commandsFileName);

// Check to make sure the file opened properly
if (!myFile.is_open())
{
    cout << "There was an error opening " << commandsFileName << "." << endl;
    return;
}

//Parse the document
while (getline(myFile, line, '/n'))
{
    if (line[0] == 'A')
    {
        addStudent(line);
    }

1 个答案:

答案 0 :(得分:6)

您的转义序列是向后的 - 请尝试替换

/n

使用

\n

C ++中的多字符字符自由主义者具有类型int,而不是类型char,这导致std::getline的参数具有错误的类型。 (感谢@chris指出该类型将具体为int!)

希望这有帮助!