我有Cars类和对象(指向数字指针的指针):

Cars** arr;


我想分配一个新的内存,我该怎么办?

就像是:

arr = new Cars*[1]; // make one row
arr[0] = new Cars[10]; // make 10 cols

for (int i = 0; i < 10; ++i) {
    arr[0][i] = d; // d is a parameter of: Digits d;
}


我将行设置为1,因为我认为总是有1行。

请帮我,因为我想我错过了一些..

最佳答案

arr = new Cars*[1]; // make one row
arr[0] = new Cars[10]; // make 10 cols
for (int i = 0; i < 10; ++i) {
   arr[0][i] = d; // d must be an object of Cars
}


由于arr存储Cars类型的元素,因此d必须是objectCars或可以转换为/视为Cars的对象。

您最好改用vector的vector,因为它更易于使用,并且您不必为动态数组而烦恼内存管理问题。

10-06 15:45
查看更多