相关疑难解决方法(0)

关于最令人烦恼的解析的令人困惑的细节

我的问题是如何将以下行解析为函数声明:

vector<int> v(istream_iterator<int>(cin), istream_iterator<int>());
Run Code Online (Sandbox Code Playgroud)

我理解Most Vexing Parse的大部分细节以及为什么第二个临时迭代器可以被解释为一个返回迭代器并且不带参数的函数的类型,但是我没有得到的是为什么第一个临时迭代器可以是解释为一种类型.它代表什么类型?我的想法是它会是某种函数类型,但我看不出名称是如何cin被使用的.它是否声明该参数是一个istream_iterator<int>名为cin?如果是这样,这是否意味着您可以任意地将函数的参数名称括起来?如果是这样,为什么?

c++ most-vexing-parse

15
推荐指数
4
解决办法
1990
查看次数

标签 统计

c++ ×1

most-vexing-parse ×1