【发布时间】:2012-01-04 21:48:13
【问题描述】:
可能重复:
Function pointer arrays in Fortran
How to alias a function name in Fortran
在 FORTRAN 中,如何创建和使用指向子程序的指针?
此外,是否有可能在不同的子程序中有一个空洞的指针数组?
我知道这些东西可以用 C 轻松实现,但是 FORTRAN 呢?
编辑
我尝试过使用命令:
PROCEDURE (), POINTER :: pMYSUB => NULL()
我使 pMYSUB 指针指向子程序:
pMYSUB => MYSUB
我也把MYSUB子程序放到INTERFACE中:
INTERFACE
SUBROUTINE MYSUB
END SUBROUTINE
END INTERFACE
MYSUB 子例程没有参数。问题是当我使用时:
call pMYSUB
我收到链接错误:未解析的外部符号 _pMYSUB。 我做错了什么? 命令:
POINTER(pMYSUB, MYSUB)
是另一种使 pMYSUB 指向子程序 MYSUB 的方法吗?
【问题讨论】:
-
这个最近的 Stack Overflow 问题类似,并有示例代码:stackoverflow.com/questions/8612466/…
标签: pointers fortran subroutine