我正在尝试将一个矩阵变量从我的 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/