2015-02-01 2 views
-1

Привет Я работаю над школьным проектом, чтобы читать текст из файла, а затем манипулировать им, чтобы результат был другим. Во всяком случае, когда я пытаюсь использовать функцию 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

Вам необходимо разобраться в ваших операторах адреса ('&') и разыменования ('*'). Вам также нужно подумать о том, что произойдет, если вы * не * инициализируете 'adr'. И как вызвать функции-члены. –

ответ

1

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