创建向量指针数组
Creating an Array of Vector Pointers
我必须输入一个数字“N”并创建一个向量指针数组,以便通过使用多态性我能够将不同的对象放置在向量的不同索引处。
我想做什么:
vector<Vehicle> *ptr(N);
这会出错,我如何创建类型为矢量指针的数组?
标准 C++ 不支持可变长度数组 (VLA),因此您应该改为创建向量指针向量。
std::vector<vector<Vehicle> *> ptr(N);
如果您的编译器支持 VLA 并且您出于某种原因想要使用它,您应该使用 []
而不是 ()
。
vector<Vehicle> *ptr[N];
我必须输入一个数字“N”并创建一个向量指针数组,以便通过使用多态性我能够将不同的对象放置在向量的不同索引处。 我想做什么:
vector<Vehicle> *ptr(N);
这会出错,我如何创建类型为矢量指针的数组?
标准 C++ 不支持可变长度数组 (VLA),因此您应该改为创建向量指针向量。
std::vector<vector<Vehicle> *> ptr(N);
如果您的编译器支持 VLA 并且您出于某种原因想要使用它,您应该使用 []
而不是 ()
。
vector<Vehicle> *ptr[N];