C++ 编译错误-无效类型';字符[int]';数组下标
我正在做一个做矩阵运算的程序。幸运的是,代码逻辑并没有给我带来错误 我使用以下代码输出存储在二维数组中的矩阵:C++ 编译错误-无效类型';字符[int]';数组下标,c++,multidimensional-array,compiler-errors,C++,Multidimensional Array,Compiler Errors,我正在做一个做矩阵运算的程序。幸运的是,代码逻辑并没有给我带来错误 我使用以下代码输出存储在二维数组中的矩阵: void ouputMatrix(char arr[], int matrixRows, int matrixColumns) { for (int a=0; a<matrixRows; a++) { for (int i=0; i<matrixColumns; i++) { cout << arr[a][i] << " "
void ouputMatrix(char arr[], int matrixRows, int matrixColumns) {
for (int a=0; a<matrixRows; a++) {
for (int i=0; i<matrixColumns; i++) {
cout << arr[a][i] << " ";
}
cout << endl;
}
cout << endl;
}
void输出矩阵(字符arr[],整数矩阵行,整数矩阵列){
对于(int a=0;a问题在于,我试图将多维数组传递到函数中,但使用了与一维数组相同的语法。由于数组的大小为100(根据我的问题,这是您无法知道的,抱歉…),传递它的正确方法是:
void ouputMatrix(char arr[][100], int matrixRows, int matrixColumns);
如果你想传递一个1-D数组来实现这样的功能,那么你所做的就是完美的,但是如果你想传递2-D数组,那么你需要传递带有有效语法的数组,而不仅仅是1-D数组
i、 e.返回类型函数名称(数据类型arrayName[100],int size)
在这种情况下,您也可以将下标“[]”保留为空,仅适用于一维数组
但对于2-D阵列,它将是
返回类型函数名称(数据类型arrayName[100][100],int rowSize,int colSize)
但是,您也可以在此处将下标“[]”保留为空,但只有第1个[]和第2个必须包含一些值。
实际上,在第二个下标中传递什么值并不重要,但必须有一些值,只需传递一个二维数组不会超过的值即可
对于数组的进一步维度,语法将继续这样进行。
希望这对你有用。arr[a]
是一个char
。你不能在char
上执行[i]
。我想你是想传递一个二维数组而不是char-arr[]
Ahh,这可能是我的问题。一旦我弄明白了正确的语法,我会发布一个答案。如果您发布定义和初始化矩阵的位置,这会有所帮助