Операторът за извикване е функция като operator()( params )
, която позволява използването на синтаксиса myObject( params )
.
Така че, когато пишете infile(...)
, вие се опитвате да ни обадите на оператор.
Това, което се опитвате да направите, е да отворите файл, като използвате метода open
:
void word_transform(ifstream & infile)
{
infile.open("content.txt",std::ios_base::in);
if ( infile.is_open() )
infile << "hello";
infile.close();
}
Но, както беше коментирано, всъщност няма смисъл да се предава препратка към такава функция във файл. Може да обмислите:
void word_transform(istream& infile)
{
infile << "hello";
}
int main()
{
ifstream infile;
infile.open("content.txt",std::ios_base::in);
if ( infile.is_open() )
word_transform( infile );
infile.close();
return 0;
}
Or:
void word_transform()
{
ifstream infile;
infile.open("content.txt",std::ios_base::in);
if ( infile.is_open() )
infile << "hello";
infile.close();
}
int main()
{
word_transform();
return 0;
}
person
jpo38
schedule
16.12.2014
infile.open("content.txt");
вероятно. - person user657267   schedule 16.12.2014ifstream s("content.txt"); word_transform(s);
. - person molbdnilo   schedule 16.12.2014