当我试图从二维数组传递一行时出错



在试图传递一行二维数组时,我在函数调用上得到一个错误:

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

相关内容

  • 没有找到相关文章

最新更新