正如我們所知道的那樣,函數名稱可以作爲參數傳入/傳出其他子例程。我想知道是否有任何技巧將函數列表保存到數組中,這些數組將被傳入和傳出進程。如何將一組函數存儲到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找到了一些東西。這很有幫助。但我想知道如何聲明一個數組並保存一組函數。 –