Hey everyone I am relearning C++ by doing some hacker rank challenges and am getting a segment fault error. The program should take in the dimensions for the matrix and compute both diagonals, then add them together. I am pretty sure the error is in how the 2d array is passed to the computeMainDiagonal and computeSecondaryDiagonal functions. Thanks for the help !
int ComputeMatrixMainDiagonal(int matrixDimensions, int* matrix){
    int rowIndent = 0;
    int diagonalValue; 
    for(int i = 0;i < matrixDimensions;i++){
        diagonalValue =+ (&matrix)[i][rowIndent];
        rowIndent++;
    }
    return diagonalValue;
}
int ComputeMatrixSecondaryDiagonal(int matrixDimensions, int* matrix){
    int rowIndent = matrixDimensions;
    int diagonalValue;
    for(int i = matrixDimensions;i > 0;i--){
        diagonalValue =+ (&matrix)[i][rowIndent];
        rowIndent--;
    }
    return diagonalValue;
}
int main() {
    int matrixDimension;
    int differenceAcrossSumsOfDiagonal;
    int matrixMainDiagonal;
    int matrixSecondaryDiagonal;
    int * matrixPointer;
    cin >> matrixDimension; //get matrix dimensions
    int matrix[matrixDimension][matrixDimension]; //declare new matrix
    for(int index = 0; index < matrixDimension;index++ ){ //populate matrix
        for(int i = 0; i < matrixDimension;i++){
            cin >> matrix[index][i];
        }
    }
    matrixMainDiagonal = ComputeMatrixMainDiagonal(matrixDimension,&matrix[matrixDimension][matrixDimension]);      
    matrixSecondaryDiagonal = ComputeMatrixSecondaryDiagonal(matrixDimension,&matrix[matrixDimension][matrixDimension]);
    differenceAcrossSumsOfDiagonal = (matrixMainDiagonal + matrixSecondaryDiagonal);
    cout << differenceAcrossSumsOfDiagonal;
    return 0;
}
 
    