【发布时间】:2014-11-14 07:33:00
【问题描述】:
我有一个 vector 包含在 reference_wrapper 中的某种引用类型。由于我需要乱序填充此容器,因此我正在尝试为容器设置初始大小:
vector<std::reference_wrapper<T>> v(5);
v[3] = ..
v[2] = ..
v[4] = ..
v[5] = ..
v[1] = ..
编译失败,出现如下错误:
error: no matching function for call to ‘std::reference_wrapper<int>::reference_wrapper()’
是否有解决方法来完成这项工作,还是我必须为此使用vector<T*>?
【问题讨论】:
-
您查看过std::reference_wrapper 的文档吗?它不提供默认构造函数。
标签: c++ c++11 stl reference-wrapper