Филиппов Вадим
двумерный массив через new( С++)
почему это норм
char *a;
int rzm=0;
cin>>rzm;
a = new char[rzm];
а это нет
char *a;
int rzm=0;
cin>>rzm;
a = new char[rzm][rzm];
и как это сделать ?
почему это норм
char *a;
int rzm=0;
cin>>rzm;
a = new char[rzm];
а это нет
char *a;
int rzm=0;
cin>>rzm;
a = new char[rzm][rzm];
и как это сделать ?
Потому что оператор new[] есть, а оператора new[][] нет.
И вообще - в C/C++ нет двумерных массивов, есть массивы массивов. В принципе, это тоже ответ на твой вопрос: создание двумерного массива - одна операция, а массива массивов - две; но двумерных массивов, как я уже написал, нет, значит, одной операцией его не создашь.
--
Ну как-как.. .
char **a;
a=new char *[rzm];
for(size_t t=0;t< rzm;t++)a[ t]=new char[rzm];