Nu inteleg de ce nu ruleaza codul urmator.
Alocarea dinamica cu un pointer la intreg (int *p) sau pointer la pointer la intreg mi-a reusit.
Cand am incercat cu un pointer catre un tablou de intregi (*p)[col] codul nu ruleaza.
Stiu, dimensiunea tabloului trebuie sa fie o constanta, dar variabilele
col si
new primesc valori pana la compilarea liniei de cod
int (*p)[col] = (int(*)[col])new int*[row];.
De ce nu ruleaza ?
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int row, col;
cout << "\n Numbers of rows: ";
cin >> row;
cout << "\n Numbers of columns: ";
cin >> col;
cout << "\n col = " << col << endl;
int (*p)[col] = (int(*)[col])new int*[row];
for (int i=0; i<row; i++)
{
for (int j=0; j<col; j++)
{
cout << "\n tab[" << i << "][" << j << "] = ";
cin >> *(*(p+i)+j);
}
}
cout << endl;
for (int i=0; i<row; i++)
{
for (int j=0; j<col; j++)
cout << "\t\t" << *(*(p+i)+j);
cout << endl;
}
// free (p);
delete[] p;
p = NULL;
return 0;
}