Why can#39;t I make a vector of references?(为什么我不能制作参考向量?)
问题描述
当我这样做时:
std::vector<int> hello;
一切都很好.但是,当我将其设为引用向量时:
Everything works great. However, when I make it a vector of references instead:
std::vector<int &> hello;
我收到像
错误 C2528:指针":指向引用的指针非法
error C2528: 'pointer' : pointer to reference is illegal
我想将一堆对结构的引用放入一个向量中,这样我就不必干预指针了.为什么vector会对此大发雷霆?使用指针向量是我唯一的选择吗?
I want to put a bunch of references to structs into a vector, so that I don't have to meddle with pointers. Why is vector throwing a tantrum about this? Is my only option to use a vector of pointers instead?
推荐答案
vector 这样的容器的组件类型必须是 可分配.引用是不可赋值的(你只能在声明时初始化它们一次,并且以后不能让它们引用其他东西).其他不可分配的类型也不允许作为容器的组件,例如vector
是不允许的.
The component type of containers like vectors must be assignable. References are not assignable (you can only initialize them once when they are declared, and you cannot make them reference something else later). Other non-assignable types are also not allowed as components of containers, e.g. vector<const int>
is not allowed.
这篇关于为什么我不能制作参考向量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么我不能制作参考向量?


基础教程推荐
- 常量变量在标题中不起作用 2021-01-01
- 这个宏可以转换成函数吗? 2022-01-01
- 我有静态或动态 boost 库吗? 2021-01-01
- C++结构和函数声明。为什么它不能编译? 2022-11-07
- 如何将 std::pair 的排序 std::list 转换为 std::map 2022-01-01
- 如何通过C程序打开命令提示符Cmd 2022-12-09
- 静态库、静态链接动态库和动态链接动态库的 .lib 文件里面是什么? 2021-01-01
- 如何检查GTK+3.0中的小部件类型? 2022-11-30
- 如何在 C++ 中初始化静态常量成员? 2022-01-01
- 在 C++ 中计算滚动/移动平均值 2021-01-01