为什么不允许使用可变长度数组作为向量元素?

  • 本文关键字:数组 向量 元素 不允许 c++
  • 更新时间 :
  • 英文 :


例如:

#include<vector>
using namespace std;
int main()
{
vector<int[]> vec;//serious compiler error
vector<int[2]> vec={{1,2}};//error:array must be initialized with a brace-enclosed initializer
}

另外,如何纠正第二个的语法?我已经使用了大括号括起来的初始值设定项。

它不是一个可变长度的数组,这些数组在C++中不存在。它是一个没有大小说明符的数组,一个不完整的类型,不能满足大多数(所有?(向量操作的要求。

第二次尝试尝试复制 c 数组(列表初始化总是执行复制(,这也不受支持。

如果你想要数组的向量,把它拼写为std::vector<std::array<int, 2>>

最新更新