C++ 打印数组值时获取垃圾值

C++ 打印数组值时获取垃圾值,c++,arrays,C++,Arrays,对于赋值,当传递订单的奇数时,我们可以创建一个幻方。但是,我无法让打印函数正确显示已设置为数组的值(在默认情况下,所有值都设置为零)。一些值显示准确,而另一些值显示垃圾值 static const int NUM_ROWS{15}, NUM_COLUMNS{15}; typedef int TwoDimArray[NUM_ROWS][NUM_COLUMNS]; TwoDimArray** buildMagicSquare1(int order) { int** table{};

对于赋值,当传递订单的奇数时,我们可以创建一个幻方。但是,我无法让打印函数正确显示已设置为数组的值(在默认情况下,所有值都设置为零)。一些值显示准确,而另一些值显示垃圾值

static const int NUM_ROWS{15}, NUM_COLUMNS{15};

typedef int TwoDimArray[NUM_ROWS][NUM_COLUMNS];



TwoDimArray** buildMagicSquare1(int order) {
    int** table{};
    table = new int *[order];
    for (int row{0}; row < order; ++row)
    {
        table[row] = new int[order];
        for (int col{0}; col < order; ++col)
        {
            table[row][col] = 0;
        }
    }
    // table is now a TwoDimArray initialized to all zeros.
    return reinterpret_cast<TwoDimArray **>(table);
}

void printTable(int rows, int cols, TwoDimArray aTable){
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++)
            std::cout << std::setw(5) << aTable[i][j];
        std::cout << std::endl;
    }
}

int main()
{
    printTable(3, 3, **buildMagicSquare1(3));
}

static const int NUM_ROWS{15},NUM_COLUMNS{15};
typedef int TwoDimArray[NUM_ROWS][NUM_COLUMNS];
TwoDimArray**buildMagicSquare1(整数顺序){
int**表{};
表=新整数*[订单];
for(int行{0};行<顺序;++行)
{
表[行]=新整数[订单];
for(int col{0};colstd::cout什么是
TwoDimArray
**buildMagicSquare1(3)
看起来很可疑我不确定如何将
TwoDimArray**
转换为
TwoDimArray
TwoDimArray
int**
buildMagicSquare1函数有很大不同。我做了printTable函数和main函数。