Как отправить параметр матрицы в функцию из основного в C ++ - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь отправить матричную переменную из функции 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 в качестве параметра?

1 Ответ

0 голосов
/ 15 февраля 2019

В C / C ++ вы можете опустить только первое измерение массива при передаче его функции:

int grid[][20]

, поскольку в C / C ++ нет реальных многомерных массивов, а только одномерные массивы, в которой адресная арифметика используется для доступа к элементу в данном измерении.

Или вы можете следовать предложению @tadman из комментария и использовать

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