为什么我不能制作参考向量? [英] Why can't I make a vector of references?

查看:42
本文介绍了为什么我不能制作参考向量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我这样做时:

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.

这篇关于为什么我不能制作参考向量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆