我认为这可行,因为ifstream
继承自istream
string getFileContents(istream& file_contents)
{
string result;
string line;
while (getline(file_contents, line))
result += line + "\n";
return result;
}
然后我想这样调用这个函数:
ifstream file_input;
getFileContents(file_input);
...
getFileContents(cin);
但是我在visual studio中遇到了这个错误:
'getFileContents':无法将参数1从std::istream
转换为std::ifstream &
答案 0 :(得分:7)
它应该工作;你确定你没有留下一个参数类型为ifstream &
而不是istream &
的错误原型吗?