用数组声明函数 首先,我是C++ NoOB!好了,我需要声明一个初始化网格的函数。该函数将int数组作为输入,需要返回int数组。我有:

用数组声明函数 首先,我是C++ NoOB!好了,我需要声明一个初始化网格的函数。该函数将int数组作为输入,需要返回int数组。我有:,c++,arrays,function,C++,Arrays,Function,如果通过引用传递数组,则不需要返回任何内容: #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> &am

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

#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);
}

将所有元素初始化为零。

array看起来无效,假设它是std::array。你返回的数组应该包含什么?你的问题是-什么?
#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);
}
std::array<std::array<int, NB_COLUMN>, NB_ROWS> grid{};