如何在C ++中从main发送矩阵参数

问题描述 投票:1回答:1

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

/home/ubuntu/workspace/home/game.cpp:13:24:错误:作为多维数组的'grid'声明必须包含除第一个之外的所有维度的边界

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++ function matrix parameters parameter-passing
1个回答
2
投票

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

int grid[][20]

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

或者您可以从评论中使用@tadman建议并使用

std::vector<std::vector<int> > grid //or int** grid
© www.soinside.com 2019 - 2024. All rights reserved.