我正在尝试在 C++ 中创建一个返回二维向量的函数。该函数还具有一个 2D 向量作为参数,其想法是使用该函数返回此 2D 向量的修改版本。
我不会把我的整个代码放在这里完全没有问题,但总结一下这个函数看起来像这样:
using std::vector;
vector<vector<char> > function(vector<vector<char> > grid) {
int width = static_cast<int>(grid.front().size());
int height = static_cast<int>(grid.size());
for(int y=0; y < height; ++y)
{
for(int x=0; x < width; ++x)
{
grid[y][x]= 'H';
}
}
return grid;
}
然后我会主要做:
vector<vector<char> > new_grid = function(grid);
但它在我使用它的方式上不起作用,所以我有几个问题:
- 是否应该初始化二维向量函数大小?
- 我可以更改
grid
函数内部的大小并返回更大的二维向量吗? - 而且,这可能是一个愚蠢的问题,但是,实际上是否可以在一个函数中检索一个值、一个数组、一个字符串,而不使用 return,在一个 void 函数中?
谢谢你的帮助 !
如果你愿意,我可以展示我的整个代码,但它很大,可能不太清楚。