c++ - Pass a reference to std::ifstream as parameter -
i'm trying write function ifstream& argument.
void word_transform(ifstream & infile) { infile("content.txt"); //etc } which gave me error:
type 'ifstream' (aka 'basic_ifstream ') not provide call operator.
can please me what's wrong?
call operator function operator()( params ) allowing use syntax myobject( params ).
so, when write infile(...), trying call operator.
what trying open file, use open method:
void word_transform(ifstream & infile) { infile.open("content.txt",std::ios_base::in); if ( infile.is_open() ) infile << "hello"; infile.close(); } but, commented, not make sense pass infile reference such function. may consider:
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; }
Comments
Post a Comment