正如我们所知道的那样,函数名称可以作为参数传入/传出其他子例程。我想知道是否有任何技巧将函数列表保存到数组中,这些数组将被传入和传出进程。如何将一组函数存储到Fortran阵列中
!-------举个例子。 在地方,我们设置任何阵列
type(Idonotknow)::Farray(N)
然后设置值:
Farray(1)%any=>fun1
Farray(2)%any=>fun2
...
Farray(N)%any=>funN
其中FUN1,FUN2 ... funN是像
Function fun1(input)
implicit none
statements
End Function
最后,我们可以给他们打电话
do i = 1, N
Call F(i)%any(input)
enddo
你能否澄清一点(例如) –
这是函数指针的概念。 – cup
似乎是这样。我在https://stackoverflow.com/questions/8612466/how-to-alias-a-function-name-in-fortran找到了一些东西。这很有帮助。但我想知道如何声明一个数组并保存一组函数。 –