Fortran:包含成员的类型,该成员是此类型的元素数组

时间:2014-09-12 18:24:27

标签: arrays pointers fortran

我需要声明一个类型a,其中包含一个类型为a的元素数组的成员。

我正在考虑类似的事情:

type:: a
type(pta), dimension(:), allocatable:: array
end type a

type:: pta
class(a), pointer:: p
end type pta  

在Fortran中这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

或者让自己成为Fortran 2008编译器,然后编写

type :: a
  type(a), dimension(:), allocatable :: array
end type

虽然我很欣赏这个答案原始形式的代表,但我应该指出,据我所知,只有IBM和Cray Fortran编译器目前支持新兴标准的这一功能。 @ Stefan的答案可以在当前广泛使用的Fortran编译器中实现。

答案 1 :(得分:2)

您只需在类型中插入指针即可。这看起来像是:

type a
  type(a), dimension(:), pointer :: array
end type

然后,您可以简单地按所需大小分配数组。