在尝试传递一行二维数组时,函数调用出现错误:
Tester.java:10: illegal start of expression
function(arr[0][]);
^
1 error
我们不能传递二维数组中的一行吗?
class Tester {
public static void main(String args[]) {
char arr[][] = new char[3][3];
arr[0][0] = 'x';
arr[0][1] = 'x';
arr[0][2] = 'o';
arr[2][0] = 'x';
arr[2][1] = 'o';
arr[2][2] = 'x';
function(arr[0][]); // ERROR STATEMENT
}
public void function(char arr[]) {
for(char s : arr) {
System.out.println(s);
}
}
}
最佳答案
这是因为数据是数组的数组,并且 [] 被用作传入类型声明的一部分,而不是数组的根节点,在这种情况下,它们被用作访问器以对其进行索引。
char arr[][]
是 char 数组的数组声明。要访问内部数组之一,您只需索引到基本数组之一,您返回的值将是内部数组。
function(arr[0]); // CORRECT STATEMENT
关于java - 当我尝试从二维数组传递一行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15737272/