当我这样做时:
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/