1
MODULE MyTypeMod

TYPE MyType
PRIVATE
INTEGER, ALLOCATABLE :: Num
CONTAINS
  PROCEDURE, PUBLIC :: IsNum!To check Allocation of Num
  ...
END TYPE MyType

CONTAINS
...
END MODULE MyTypeMod
PROGRAM testMyType
USE MyTypeMod, ONLY : MyType

...
END PROGRAM testMyType

在此模块和程序中,我们可以修改可访问性状态“IsNum”类型绑定过程吗?我们可以在 testMyTypeMod 程序中将“IsNum”程序设为私有吗?

4

1 回答 1

1

根据Fortran 2018 标准草案9部分段落7.5.5

可以通过该类型的任何可访问对象访问公共类型绑定过程。私有类型绑定过程只能在包含类型定义的模块及其后代中访问。

因此,不可能更改类型绑定过程的可访问性。

目前有一个更新未来 Fortran 标准的提议,该标准建议使您想要做的事情的一个子集成为可能。

您可能想要提出新的建议来更新标准。这也可能是找出为什么你想做的事情目前不可能的最好方法。

于 2021-10-18T08:33:30.657 回答