Только этого достаточно:
first class1(10);
new
для того, когда вы выделяете указатель.
first *class1 = new first(10);
Кроме того, у вас есть несовместимость здесь:
array = new int[x][10];
array
- это int*
, но new int[x][10]
- это двумерный массив.Я не уверен, какой вы хотите.
Для массива 1D:
int *array;
array = new int[x];
Для массива 2D:
int (*array)[10];
array = new int[x][10];
Тем не менее, вам может быть лучше использовать std::vector
.
Примечание: Поскольку у вас есть выделение памяти вконструктор, вы также должны реализовать деструктор, конструктор копирования и оператор присваивания копии .