C ++如何通过2D数组使用用户输入的变量起作用?

时间:2018-11-13 20:23:20

标签: c++ multidimensional-array

运行以下代码时,该函数出现错误。

using namespace std;

void function(int a[rows][columns]) {}

int main() {
    int rows, columns;
    cin >> rows >> columns;

    int matrix[rows][columns];
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < columns; j++) {
            cin >> matrix[i][j];
        }
    }

    function(matrix);

    return 0;
}

如何使用用户输入的变量将2D数组传递给函数?

1 个答案:

答案 0 :(得分:0)

您可以像这样使用vector<vector<int>>

#include <iostream>
#include <vector>

using namespace std;

void function(const vector<vector<int>>& a) {}

int main() {
    int rows, columns;
    cin >> rows >> columns;

    int initial_value = 0;
    std::vector<std::vector<int>> matrix;
    matrix.resize(rows, std::vector<int>(columns, initial_value));

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < columns; j++) {
            cin >> matrix[i][j];
        }
    }

    function(matrix);

    return 0;
}