创建向量指针数组

Creating an Array of Vector Pointers

我必须输入一个数字“N”并创建一个向量指针数组,以便通过使用多态性我能够将不同的对象放置在向量的不同索引处。 我想做什么:

vector<Vehicle> *ptr(N);

这会出错,我如何创建类型为矢量指针的数组?

标准 C++ 不支持可变长度数组 (VLA),因此您应该改为创建向量指针向量。

std::vector<vector<Vehicle> *> ptr(N);

如果您的编译器支持 VLA 并且您出于某种原因想要使用它,您应该使用 [] 而不是 ()

vector<Vehicle> *ptr[N];