当我这样做时:
std::vector<int> hello;
一切都很好。但是,当我将其设为引用向量时:
std::vector<int &> hello;
我得到可怕的错误,比如
错误 C2528:“指针”:指向引用的指针非法
我想将一堆对结构的引用放入一个向量中,这样我就不必干预指针了。为什么vector会为此发脾气?我唯一的选择是使用指针向量吗?
原文由 Colen 发布,翻译遵循 CC BY-SA 4.0 许可协议
当我这样做时:
std::vector<int> hello;
一切都很好。但是,当我将其设为引用向量时:
std::vector<int &> hello;
我得到可怕的错误,比如
错误 C2528:“指针”:指向引用的指针非法
我想将一堆对结构的引用放入一个向量中,这样我就不必干预指针了。为什么vector会为此发脾气?我唯一的选择是使用指针向量吗?
原文由 Colen 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答830 阅读
2 回答3k 阅读✓ 已解决
1 回答908 阅读
1 回答940 阅读
我在 C++14 中找到了原因,“国际标准 ISO/IEC 14882:2014(E) 编程语言 C++”
[8.3.2-5.s1] 不应该有对引用的引用,没有引用数组,也没有指向引用的指针。