Fortran Coder

查看: 9857|回复: 2

[文件读写] 函数的重载

[复制链接]

29

帖子

8

主题

0

精华

熟手

只想好好学习早点毕业

F 币
152 元
贡献
90 点
QQ
发表于 2015-11-27 17:01:05 | 显示全部楼层 |阅读模式
今天有一个疑惑
例如我
subroutine  max(int a ,int b)
subroutine  max(int a,int b, int c)

那么,我在programme
调用max,会发生什么?我的情况是一直报错,参数有误,
A non-optional actual argument must be present when invoking a procedure with an explicit interface.
但是我在C语言中这个叫做函数的重载,我不知道Fortran是否可以这么做,请问Fortran是否可以这么使用,求指点。

后来我又想改为
function max(a,b)
function max(a,b,c)

结果会有不同吗,求知道的人给我指点一下,我查了四本书了,看了一下午没找到相关的详细的解释,自己做实验也没看懂,谢谢!

955

帖子

0

主题

0

精华

大师

F 币
188 元
贡献
77 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
发表于 2015-11-27 18:57:09 | 显示全部楼层
如果你是想求若干个数据的最大值,那么 max 函数是语法规定的,不需要自己写。
可以有任意个参数

如果你是想自己写一个函数,可以有两个参数,也可以有三个。那么可以看“可选参数”部分。

本站发布的视频教程第八期也有讲到(第38分钟开始)
http://v.fcode.cn/video-subroutine_and_function.html

29

帖子

8

主题

0

精华

熟手

只想好好学习早点毕业

F 币
152 元
贡献
90 点
QQ
 楼主| 发表于 2015-11-27 20:53:29 | 显示全部楼层
vvt 发表于 2015-11-27 18:57
如果你是想求若干个数据的最大值,那么 max 函数是语法规定的,不需要自己写。
可以有任意个参数

谢谢,有这么好的东西,教程早说啊
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2025-4-24 08:52

Powered by Tencent X3.4

© 2013-2025 Tencent

快速回复 返回顶部 返回列表