声明一个带有数组的函数

declaring a function with arrays

本文关键字:数组 函数 一个 声明      更新时间:2023-10-16

首先,我是一个 c++ 菜鸟!话虽如此,我需要声明一个初始化网格的函数。该函数将 int 数组作为输入,需要返回一个int数组。我有:

array<int> InitializeGrid (array<int>)
{
const int NB_ROWS = 10;
const int NB_COLUMN = 10;
const int WATER = 0;
int grid[NB_ROWS][NB_COLONN];

for (int i = 0; i < NB_ROWS; i++)
{
for (int j = 0; j < NB_COLONN; j++)
{
grid[i][j] = WATER;
cout << grid[i][j] << " ";
}
cout << endl;
}
return ??
}

如果通过引用传递数组,则无需返回任何内容:

#include <array>
#include <iostream>
static const int NB_ROWS = 10;
static const int NB_COLUMN = 10;
static const int WATER = 0;
void InitializeGrid (std::array<std::array<int, NB_COLUMN>, NB_ROWS> &grid)
{
for (auto &row : grid)
{
for (auto &col : row)
{
col = WATER;
std::cout << col << " ";
}
std::cout << 'n';
}
}
int main()
{
std::array<std::array<int, NB_COLUMN>, NB_ROWS> grid;
InitializeGrid(grid);
}

顺便说一句,如果你WATER0

写就足够了
std::array<std::array<int, NB_COLUMN>, NB_ROWS> grid{};

将所有元素初始化为零。