【发布时间】:2018-06-14 17:04:55
【问题描述】:
我可以将final 过程添加到抽象类型吗?
假设最终过程如下所示:
subroutine finalize(this)
type(bin_tree_t), intent(inout) :: this
deallocate(this%head)
end subroutine finalize
我的编译器 (ifort 18.0.1) 给出“错误 #8313:TYPE(derived-type-spec) 不应指定抽象类型”。我明白了,但最终子例程的虚拟参数不能是多态的。
如果这不可能,那么这可能是标准委员会的有意选择,还是只是疏忽?
【问题讨论】:
-
您自己回答了技术原因。你应该向委员会的人询问原因的原因,也许史蒂文莱昂内尔可以告诉我们一些事情,他有时会来这里。
-
我认为您也不认为这是可能的。这让我很惊讶,所以我想我可能会遗漏一些东西。也许只是没有很多用例。
-
是的。但我也可能错过了一些东西。在 gfortran 开始完全支持它们之前,我不会开始使用 FINAL 过程。
标签: fortran abstract-class destructor