Нет соответствующей функции для вызова getline

Привет, я работаю над школьным проектом, чтобы прочитать текст из файла, а затем манипулировать им, чтобы вывод был другим. Во всяком случае, когда я пытаюсь использовать функцию getline, я получаю "не подходящую функцию для getline". Я не понимаю, почему, поскольку я, кажется, использовал правильные параметры для функции. Есть идеи, почему это не работает?

#include <iostream>
#include <string>
#include <fstream>
#include <cctype>
#include <algorithm>
using namespace std;

bool isaNoun( const string& noun );

bool isanArticle( string value, string * container, int size);

int main(int argc, char * argv[])
{    
    char vowels[]={'a','e','i','o','u', 'A', 'E', 'I', 'O', 'U'};

    string articles[]={ "a", "A", "an", "An", "aN","AN", "the", "The", "tHe", "thE", "THe", "tHE", "THE"};
    int stringsize=sizeof(articles)/sizeof(articles[0]);// determine size of array
    istream *adr;//location of file to be read.
    string adjective=argv[1];
    cout<<adjective;
    ifstream infile;

    if (argc<=2)
        cout<<"Not enough arguments given"<<endl;
    else if(argc==3)//this is where the magic happens.
    {
        infile.open(argv[2]);

    }
    if (infile.is_open())
        adr=&infile;
    string aLine;
    getline(&adr, aLine);
    if(adr->good)
        cout<<oLine<<endl;

    return 0;
}
//function to check if input is a noun
bool isaNoun( const string& noun){

    return isalpha(noun[0]);
}

bool isanArticle( string value, string * container, int size)
{

    for(int i=0; i<size;i++)
    {
        if (value==container[i])
        {
            return true;
        }
        cout<<i<<endl;
    }    
    return false;
}

1 ответ

Использование getline(*adr,aLine);вместо getline(&adr,aLine)Так как getline не может принять ссылку на переменную или файл в качестве параметра.

Другие вопросы по тегам