这个函数在这里被问过几次,但我对一个特定的案例感兴趣。是否可以通过附加参数定义传递的数组的大小?
例如,假设我想要一个打印二维数组的函数。但是,我的数组可能每次都没有相同的尺寸。如果我可以有其他参数来定义该数组的大小,那将是理想的。我知道我可以n
根据需要轻松地在此处切换数字,但如果我有更复杂的函数和单独的头文件,那么每次出现不同大小的数组时去编辑头文件似乎很愚蠢。以下结果error: use of parameter 'n' outside function body...
我理解但想找到一些解决方法。我也尝试过g++ -std=c++11
但仍然是同样的错误。
#include <iostream>
using namespace std;
void printArray(int n, int A[][n], int m) {
for(int i=0; i < m; i++){
for(int j=0; j<n; j++) {
cout << A[i][j] << " ";
}
cout << endl;
}
}
int main() {
int A[][3] = {
{1,2,3},
{4,5,6},
{7,8,9},
{10,11,12}
};
printArray(3, A, 4);
return 0;
}