Я пытаюсь сделать следующее:Создание 2D-массив внутри constuctor в C++
class Test{
private:
int x;
int y;
// Create array[][] here
public:
Test(const int x, const int y){
this->x = x;
this->y = y;
// set: array[x][y] here
}
};
Как вы видите, я хотел бы создать 2d-массив, в то время как оценки будут даны в конструкторе. Как я могу это достичь?
Он работает с обычным массивом:
class Test{
private:
int x;
int y;
int *array;
public:
Test(const int x, const int y){
this->array = new int[x]; // works
// this->array = new int[x][y] does not work
this->x = x;
this->y = y;
}
};
Смотрите этот пост: http://stackoverflow.com/questions/8294102/proper-way-to-declare-a-variable-length-two-dimensional- array-in-c –
использовать 'std :: vector' вместо необработанных указателей –
vsoftco
Можете ли вы использовать шаблоны? Ваш пример будет протекать, если вы забудете добавить деструктор, освобождающий массив. – Kimi