c++ - 为什么我不能创建一个引用 vector ?

标签 c++ vector reference stl container-data-type

当我这样做时:

std::vector<int> hello;

一切正常。但是,当我将其改为引用 vector 时:

std::vector<int &> hello;

我遇到了像

这样的可怕错误

error C2528: 'pointer' : pointer to reference is illegal

我想将一堆对结构的引用放入一个 vector 中,这样我就不必干预指针。为什么 vector 对此大发雷霆?我唯一的选择是使用指针 vector 吗?

最佳答案

vector等容器的组件类型必须是assignable .引用是不可赋值的(你只能在声明它们时初始化它们一次,之后你不能让它们引用其他东西)。其他不可分配的类型也不允许作为容器的组件,例如vector<const int>不允许。

关于c++ - 为什么我不能创建一个引用 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46047663/

相关文章:

c++ - 如何将参数从构造函数传递到插槽中?

c++ - 获取浮点异常(核心转储)。我不知道如何解决

c++ - 默认复制构造函数处理const吗?

PHP变量引用之谜

c++ - Eclipse CDT 构建始终重建所有文件

c++ - 分配和填充大型数组

c++ - .begin() 和 .end() 上未解析的标识符?

c++ - push_back 一个 vector 到另一个 vector

c++ - 使用 vector 模板时出现 mingw 链接器错误

java - 懒加载引用实现