我努力使工作在二维数组的一些功能:使用二维数组作为参数
void display_matrix(int**, int, int);
void gen_matrix(int**, int, int);
int main()
{
srand(time(0));
int m=5, n=3;
int my_matrix[m][n];
gen_matrix(my_matrix, m, n);
display_matrix(my_matrix, m, n);
}
我不知道什么是错呢,但我得到以下错误,当我调用的函数: [Error]无法将参数'1'的int()[(((sizetype)(((ssizetype)n)+ -1))+ 1)]''int' *'转换为void void gen_matrix(int **,int,int)'
我知道我可以使用矢量,但我正在尝试练习并记住使用指针和数组。
您也可以考虑使用尺寸为整型参数的模板类。 – Pete
'int **'不是一个二维数组。所以,这是你的问题。 – AnT
“我试图练习和记住指针和数组的使用”然后,编写代码的方式应该将它编译为C,因为至少通过C++ 11,语言不像您那样支持可变长度数组'在main()中使用。一些供应商通过扩展支持它,但它不是标准的一部分。如果你在'main'中使用它们,你有什么理由决定*不*在你的参数列表中使用它们? – WhozCraig