Fortran-查找loc方法-隐式类型

时间:2019-01-31 22:52:39

标签: fortran gfortran

我正在学习fortran,需要我的程序在数组中查找特定值。如下所示的简单程序:

program hello

implicit none
integer :: x
x = findloc([4,9,0,2,-9,9,1],9)

end program hello 

给我以下错误:

Error: Function 'findloc' at (1) has no IMPLICIT type

我正在Macbook上使用gfortran对其进行编译。如果能在findloc方面获得一些帮助,将不胜感激

2 个答案:

答案 0 :(得分:3)

标准内在findloc在2008年修订版中引入了Fortran。对该功能的支持最早出现在gfortran release 9.0中。

您看到的错误消息表明您使用的版本不支持该内在函数。

您可以尝试使用所需的版本,但目前仍在开发中。

幸运的是,它很容易遍历数组的元素,从而有效地创建了自己的findloc版本。

答案 1 :(得分:0)

您有两个错误。稍微修改代码即可使其正常工作:

program hello

  implicit none
  intrinsic :: findloc
  integer :: x(1)

  x = findloc([4,9,0,2,-9,9,1], value = 9)


end program hello