存在可选的派生数据类型组件

时间:2016-06-20 01:37:42

标签: fortran

presence属性是“继承”到派生数据结构的组件吗?标准说,如果不存在相应的实际参数,则不存在伪参数。但我不确定,这如何适用于派生数据类型的组件,如下例所示:

let name = itemName.text ?? ""
let note = itemNote.text ?? ""
let hours = hoursPlayed.text ?? ""

以上示例使用gfortran-5编译并运行良好,但它是否符合标准?不知何故,我无法通过查看标准来解决这个问题。

1 个答案:

答案 0 :(得分:3)

示例代码不符合。

Fortran 2008标准的相关部分在12.5.2.12p3(5)中 - “带有它的指示符[一个不存在的可选伪参数]作为基础对象,并且一个或多个子对象选择器不应该是作为实际论点提供。“

me%acomponent中的组件引用是一个子对象选择器。同样,如果me是一个数组,任何形式的数组下标也将是一个子对象选择器。