我正在尝试编写一个函数ifstream&
争论。
void word_transform(ifstream & infile)
{
infile("content.txt");
//etc
}
这给了我一个错误:
类型“ifstream”(又名“basic_ifstream”)不提供调用运算符。
你能告诉我出了什么问题吗?
呼叫接线员是一个像这样的函数operator()( params )
允许使用语法myObject( params )
.
所以,当你写infile(...)
,您正在尝试联系我们的接线员。
您想要做的是打开一个文件,使用open
method:
void word_transform(ifstream & infile)
{
infile.open("content.txt",std::ios_base::in);
if ( infile.is_open() )
infile << "hello";
infile.close();
}
但是,正如所评论的,将 infile 引用传递给这样的函数并没有真正的意义。您可以考虑:
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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)