【发布时间】:2015-03-24 22:09:38
【问题描述】:
作为post 的扩展,我有派生类型,这些派生类型本身具有派生类型的成员。示例如下:
module simple
use iso_c_binding
TYPE SIMPLEF
INTEGER :: A
INTEGER, POINTER :: B, C(:)
END TYPE SIMPLEF
TYPE COMPLEXF
INTEGER :: X
TYPE (SIMPLEF) :: Y
END TYPE COMPLEXF
end module simple
目标是,如上面的帖子,在 C 中具有类似的派生类型,并且能够将值来回传递给 Fortran。解决方法可见here。然而这里它不仅仅是一个派生类型,它是一个派生类型,其成员本身就是派生类型。我是否需要为 Y 的每个成员(即 SETY_A、QUERYY_A、SETY_B、QUERYY_BSIZE、SQUERYY_B 等)创建 COMPLEXF 子例程?还是有更好的方法来解决这个问题?
【问题讨论】:
标签: c pointers fortran fortran-iso-c-binding derived-types