假设我有以下设置
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
,但我收到了一个错误。我没有进一步调查,并决定改变策略,但仅仅是为了好奇,你知道这是否允许吗?
答案 0 :(得分:1)
我不是标准的专家,但是我读它的方式,派生类型的组件不能具有target
属性;如果要将指针与此类组件关联,则必须将父对象声明为target
。