Проблемы при создании двумерного динамического массива c++

Делаю основные функции для работы с двумерным динамическим массивом ,но при выполнении функции заполнения(fill_double_array()) получаю следующую ошибкуОшибка при вызове функции "fill_double_array"

#include <iostream>
//работа с динамической памятью
//динамический массив

void make_double_array(int** arr,int rows, int cols);
void fill_double_array(int** arr,int rows,int cols);
void output_double_array(int** arr, int rows, int cols);

int main()
{
    int rows, cols;
    std::cin >> rows;
    std::cin >> cols;

    int** dinamic_arr = nullptr;

    make_double_array(dinamic_arr, rows, cols);
    fill_double_array(dinamic_arr, rows, cols);
    output_double_array(dinamic_arr,rows,cols);

}

void make_double_array(int** arr, int rows, int cols) {
    arr = new int* [rows];
    for (int i = 0; i < rows; i++) {
        arr[i] = new int[cols];
    }
}

void fill_double_array(int** arr,int rows,int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            std:: cin >> arr[i][j];
        }
    }
}

void output_double_array(int** arr, int rows, int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            std::cout << arr[i][j] << "\t";
        }
        std::cout << std::endl;
    }

}

Ответы (0 шт):