Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 使用Fortran数组构造函数func((/array(i)/)的作用是什么_Arrays_Fortran - Fatal编程技术网

Arrays 使用Fortran数组构造函数func((/array(i)/)的作用是什么

Arrays 使用Fortran数组构造函数func((/array(i)/)的作用是什么,arrays,fortran,Arrays,Fortran,我正在审阅一个fortran(95/2003)代码,其中包含一个表单语句 do j=1,size(array) res(j) = func((/array(j)/)) end do 其中func是一个函数,它以单个数组一维大小大小(数组)作为参数。我知道(/…/)是一个数组构造函数。但是func((/array(j)/)语句的目的是什么?请注意,示例减少了诅咒,我希望我没有删除相关部分。如您所述,func是一个接受数组作为输入并返回标量的函数 array(j)只是一个标量,因此

我正在审阅一个fortran(95/2003)代码,其中包含一个表单语句

  do j=1,size(array)
    res(j) = func((/array(j)/))
  end do

其中func是一个
函数
,它以单个数组一维大小
大小(数组)
作为参数。我知道
(/…/)
是一个数组构造函数。但是
func((/array(j)/)
语句的目的是什么?请注意,示例减少了诅咒,我希望我没有删除相关部分。

如您所述,
func
是一个接受数组作为输入并返回标量的函数

array(j)
只是一个标量,因此不能直接将其传递给
func
。因此,您可以通过
(/array(j)/)
构造一个维度为1的数组,并将该临时数组传递给您的函数

正如agentp指出的[Thank!],以下内容还将传递一个维度为1的数组(准确地说,是长度为1的数组切片):


因此,函数
func
以一个可变长度数组作为参数,并且假定它的编写方式是,如果数组的长度为1,它也会计算?我想是这样,但是如果没有看到
func
的代码,我就不能确定了。。。但是您提到它接受长度为1的数组!例程很想立即看到这一点,但从上下文来看,我现在很清楚它应该是这样的。这样做是否也一样:
func(array(j:j))
func( array(j:j) )