Ciao a tutti,

Ho bisogno di gestire in C++ una matrice quadrata di dimensioni non note a priori, esempio

char mat [N] [N];

Ho scritto qualcosa del genere
codice:
#include <iostream>
using namespace std
 
int main()
{
   int N;  // dimensione della matrice NxN
   char mat[N][N];
   int i, j; // Contatori cicli for
 
   cout << 'Definire la dimensione della matrice NxN ';
   cin >> N;
   cout << endl;
 
   cout << 'Popolare la matrice NxN ' << endl;
 
   for (i=0; i<N; i++)
   {
   for (j=0; j<N; j++)
      cin << mat[i][j];
      cout << endl;
   }
   cout << endl;
 
}
Inutile dire che ho un sacco di errori in compilazione e che il programma non funge .
Essendo un apprendista, qualcuno più esperto può aiutarmi ?

Grazie e ciao a tutti