我正在学习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方面获得一些帮助,将不胜感激
答案 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