运行以下代码时,该函数出现错误。
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数组传递给函数?
答案 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;
}