小编Stu*_*789的帖子

为什么我不能用一个未命名的临时构造一个std :: istream_iterator?

g ++允许从ifstream实例构造istream_iterator:

std::ifstream ifstr("test.txt");
std::istream_iterator<std::string> iter1(ifstr);
Run Code Online (Sandbox Code Playgroud)

...但它不允许使用未命名的临时构造:

std::istream_iterator<std::string> iter2(std::ifstream("test.txt"));
Run Code Online (Sandbox Code Playgroud)

这给出了:

错误:没有用于调用'std :: istream_iterator,ptrdiff_t> :: istream_iterator(std :: ifstream)'的匹配函数

有谁知道为什么这不起作用?- 谢谢!

c++ constructor istream-iterator

2
推荐指数
1
解决办法
449
查看次数

标签 统计

c++ ×1

constructor ×1

istream-iterator ×1