c++ - 如何将矩阵参数发送到 C++ 中的 main 函数

标签 c++ function matrix parameters parameter-passing

我正在尝试将一个矩阵变量从我的 main() 发送到一个 void 函数,但是当我使用 (int grid[][], int num) 从 void 函数接收参数时,我收到一个错误:

/home/ubuntu/workspace/home/game.cpp:13:24: 错误:将“网格”声明为多维数组必须对除第一个维度之外的所有维度都有边界

void column(int grid[][], int num){
                        ^

/home/ubuntu/workspace/home/game.cpp:13:25: error: expected ‘)’ before ‘,’ token
 void column(int grid[][], int num){

                         ^

/home/ubuntu/workspace/home/game.cpp:13:27: error: expected unqualified-id before ‘int’

 void column(int grid[][], int num){

                           ^

如何将 grid[][] 作为参数发送给 void 函数?

最佳答案

在 C/C++ 中,当您将数组传递给函数时,您只能省略数组的第一维:

int grid[][20]

因为 C/C++ 没有真正的多维数组,只有一维数组,其中使用地址运算来访问给定维度中的元素。

或者您可以按照@tadman 的评论建议使用

std::vector<std::vector<int> > grid //or int** grid

关于c++ - 如何将矩阵参数发送到 C++ 中的 main 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54700763/

相关文章:

C++ 缩放图形内容

c++ - C++ 构造函数中前导下划线的含义是什么?

excel - 如果工作表编号/名称是变量/变体,则在公式中引用下一个或上一个工作表

c - 使用参数 (int&, int&) 隐式声明所有函数

c - 字符串 - 名字和姓氏按字母顺序排列,大写字母

r - 将一堆函数应用于 R 中矩阵的列

python - 二维数组作为 Pytorch 中的索引

c++ - `cin >> variable` 不等待输入

c++ - 构建 PBRT v2 错误 - 错误 1 ​​错误 U1077 : 'if' : return code '0x1'

matrix - 创建新矩阵,所有非零元素都设置为 1 (julia)