Fortan 允许基本子例程具有意图(输入)和意图(输出)参数,但基本函数只允许意图(输入)。
这是为什么?它只是一种风格约定,还是在调用函数和调用子例程方面存在一些一般性的不同?
换句话说,
Elemental Integer Function FOO(i)
Integer, intent(in) :: i
...
FOO=something
End Function
和
Elemental Subroutine FOO(i, v)
Integer, intent(in) :: i
Integer, intent(out) :: v
...
v=something
End Subroutine
——这些 FOO 的实现是否同样有效?