[英]C++ 2D array to function when size is variable
我需要将结构的二维数组传递给函数。
struct Point {
int x, y;
double f, g, h;
int parentX, parentY;
int status;
};
int main(int argc, char* argv[])
{
Point grid[fieldX][fieldY];
void something(grid){}
}
如何?
你有很多选择:
使用std::vector
这使它变得非常简单:
std::vector<std::vector<Point>> Grid;
void something(std::vector<std::vector<Point>> &grid) { ...
如果您知道将始终在编译时设置大小,请使用std::array
:
typedef std::array<std::array<Point, YDimSize>, XDimSize> Grid;
Grid grid;
void something(Grid &grid) { ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.