Ciao ragazzi mi spiegate perchè se creo dinamicamente una matrice tramite una funzione per poi scriverci dentro tramite un'altra funzione sembra che me la crei con successo ma se poi cerco di stampare la suddetta matrice mi crasha tutto riportandomi segmentation fault?
Per intenderci . .
codice:
#include <iostream>
#include <malloc.h>

using namespace std;
void AllocaMatrice(int** matrice,int dimX,int dimY);
void InserisciDati(int** matrice,int righe,int colonne);
void StampaMatrice(int **matrice,int dimensioneX,int dimensioneY);

int main()
{
    int i,j,k,righe,colonne;
    int **matrix;
    cout << "Inserisci il numero delle righe ";
    cin >> righe;
    cout << "Inserisci il numero di colonne ";
    cin >> colonne;
    AllocaMatrice(matrix,righe,colonne);


   // StampaMatrice(matrix,righe,colonne); Appena il programma arriva qua mi crasha

    return 0;
}
void AllocaMatrice(int** matrice,int dimX,int dimY)
{
    int k;
    matrice = (int**) calloc(dimX,sizeof(int*)); //numero di righe
    for(k=0;k<dimY;k++)
        matrice[k] = (int*) calloc (dimY,sizeof(int)); //numero di colonne
        InserisciDati(matrice,dimX,dimY);

}
void InserisciDati(int** matrice,int righe,int colonne)
{
    int i,k;
    for (i=0;i<righe;i++)
        for(k=0;k<colonne;k++)
          {
             cout << "Insersci l'elemento [" << i << "][" << k << "] ";
             cin >> matrice[i][k];
           }
}
void StampaMatrice(int **matrice,int dimensioneX,int dimensioneY)
{
    int i,k;
    for (i=0;i<dimensioneX;i++)
    {
        for (k=0;k<dimensioneY;k++)
          cout << matrice[i][k] << " ";
       cout << endl;
     }
}
Scusate la banalità eh . .