non*_*one 3 c++ stl c++11 reference-wrapper
我有vector一些包含的引用类型reference_wrapper.由于我需要按顺序填充此容器,我正在尝试为容器设置初始大小:
vector<std::reference_wrapper<T>> v(5);
v[3] = ..
v[2] = ..
v[4] = ..
v[5] = ..
v[1] = ..
Run Code Online (Sandbox Code Playgroud)
这无法编译,如下所示:
error: no matching function for call to ‘std::reference_wrapper<int>::reference_wrapper()’
Run Code Online (Sandbox Code Playgroud)
是否有解决方法使这项工作或我必须vector<T*>为此目的使用?
你可以提供一个原型,一种你自己的"未初始化"值:
T blank;
std::vector<std::reference_wrapper<T>> v(5, ref(blank));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |