gpt4 book ai didi

c++ - 在需要 ifstream 的地方传入 fstream

转载 作者:搜寻专家 更新时间:2023-10-31 01:54:15 25 4
gpt4 key购买 nike

void foo(ifstream &ifs)
{
//do something
}

int main()
{
fstream fs("a.txt", fstream::in);
foo(fs); //error, can't compile
}

上面的代码无法编译,好像我不能用fstream 对象初始化一个ifstream &?如果我这样做会怎样:

foo(static_cast<ifstream>(fs)); 

foo(dynamic_cast<ifstream>(fs)); 

最佳答案

可能您希望 foo() 获取 istream。如评论中所示,这是 ifstream 和 fstream 的基本类型。

void foo( istream & is )

在 cplusplus.com 上有关于这些类的很好的引用:

关于c++ - 在需要 ifstream 的地方传入 fstream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com