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};col std::cout什么是TwoDimArray
**buildMagicSquare1(3)
看起来很可疑我不确定如何将TwoDimArray**
转换为TwoDimArray
TwoDimArray
与int**
buildMagicSquare1函数有很大不同。我做了printTable函数和main函数。