Вам не нужно ничего возвращать, если вы передаете массив по ссылке:
#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);
}
кстати, если ваш WATER
равен 0
, достаточно написать
std::array<std::array<int, NB_COLUMN>, NB_ROWS> grid{};
для инициализации всех элементов в ноль.