首页 > 解决方案 > Fortran中的可变长度参数列表?

问题描述

Fortran 有没有像 C 一样处理任意长度的子程序参数列表?(顺便说一句,“现在”不适用于我想做的事情。)谢谢。

标签: fortranargumentssubroutine

解决方案


Fortran 中没有这样的子例程。

Fortran 2008 中子例程语句的语法规则是 (12.6.2.3, R1235):

[前缀] SUBROUTINE子例程名称[ ( [ dummy-arg-list ] ) [ proc-language-binding-spec ] ]

其中dummy-arg-list是 s 的列表(在假定的语法规则术语中)dummy-arg。Adummy-arg是 (R1235)名称或文字*

[在我们对可变参数支持的可能性过于兴奋之前*,当然,指的是替代回报指标。]

列表 (R101) 仍然指的是明确定义的(在源时)数量的项目。

关于与 C 的互操作性有一个明确的限制,即 (15.3.7) C 原型

... 没有省略号 (...) 表示的可变参数

类似的论点适用于 (Fortran) 函数。


推荐阅读