例如:
#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++中不存在。它是一个没有大小说明符的数组,一个不完整的类型不符合大多数(全部?) vector 运算的要求。
第二次尝试尝试复制c数组(列表初始化始终会复制),但也不支持。
如果需要数组 vector ,则将其拼写为std::vector<std::array<int, 2>>
。