0

假设我有以下设置

 type BarType
     integer :: i
 end type

 type FooType
    type(BarType) :: bar
 end type

我想要另一种类型

type BazType
   type(BarType), pointer :: barPtr
end type

并设置barPtr为指向foo%bar。为此,我必须声明type(BarType), target :: bar,但出现错误。我没有进一步调查,并决定改变策略,但只是出于好奇,你知道这是否允许吗?

4

1 回答 1

1

我不是该标准的专家,但是我阅读它的方式,派生类型的组件不能具有该target属性;如果要将指针与此类组件相关联,则必须将父对象声明为target.

于 2011-05-12T21:08:40.193 回答