搜索之后,我能够找到一个关于我刚遇到的同一错误的问题,但出于不同的原因here(他们不熟悉pass
...不同的问题)。< / p>
我的问题很简单。在Fortran中,期望class(parent)
类型的参数的函数是否可以接受class(derived_from_parent)
?
如果需要示例或说明,请询问。非常感谢。
答案 0 :(得分:3)
是的,这没有任何问题。如果你需要使用扩展(派生)类型的任何属性,你必须使用select type
,但如果没有,它就没有任何复杂性。
如果您需要伪参数为allocatable
或pointer
,则存在一些限制:
12.5.2.5
2当且仅当相关联的时候,实际参数应该是多态的 伪参数是多态的,无论是实际的还是虚拟的 参数应该是无限多态的,或声明的类型 实际参数应与虚拟的声明类型相同 参数。
(其原因在ISO / IEC 1539-1:2010的注12.27中进行了解释)