24小时热门版块排行榜    

查看: 2388  |  回复: 5

学虫dj

金虫 (正式写手)

[求助] FORTRAN中不定个数传递参数 已有2人参与

我知道fortran中的函数在不定个数传递参数时应该使用interface来给子程序设定一个接口,现在的问题是:
1,函数中的形参是不确定大小的数组时,应该怎么设置这个interface
2,这个将要被调用的函数是在一个模块里,而调用他的函数在另一个模块里,这时interface怎么设置
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

穷则独善其事,达则兼济天下
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

linrn

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
函数中的参数在定义时加上  optional,如
subroutine aaa(a,b,c)
real(kind=8),intent(inout):: a,b
real(kind=8),intent(inout),optional::c
...
end subroutine
在函数中需要使用参数c的时候,需要用logical present(c)来判别是否输入c这个参数。


调用的时候可以写成
call  aaa(a,b,c)
或者
call aaa(a,b)
2楼2014-04-09 21:13:22
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)

引用回帖:
2楼: Originally posted by linrn at 2014-04-09 21:13:22
函数中的参数在定义时加上  optional,如
subroutine aaa(a,b,c)
real(kind=8),intent(inout):: a,b
real(kind=8),intent(inout),optional::c
...
end subroutine
在函数中需要使用参数c的时候,需要用logic ...

我的程序中就是这样写的,但是貌似不行。我的程序里面会判断是否给了c,如果没有给,那就自动赋值,但是执行结果是没有地址
穷则独善其事,达则兼济天下
3楼2014-04-11 10:10:09
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
学虫dj: 金币+10 2014-04-16 15:20:28
学虫dj: 回帖置顶 2014-04-16 15:21:24
1. Module里面的所有subprogram在用的时候是不需要interface的。比如在MODULE B中要用module A里的所有子程序,只需要在MODULE B中写上USE A就行了,不需要INTERFACE。因为,一定程度上,可以把MODULE中的子程序当成在所用程序中的后面加了contain的内部子程序。

2. 可选参数为不定大小的数组时可以这样定义子程序。
subroutine aaa(a,b)
      real :: a
      real, optional :: b(
      .....
end
4楼2014-04-11 16:46:38
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

btx97

金虫 (小有名气)

real, optional :: b( : )
5楼2014-04-11 16:47:17
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

学虫dj

金虫 (正式写手)

学虫dj: 回帖置顶 2014-04-16 15:21:18
引用回帖:
4楼: Originally posted by btx97 at 2014-04-11 16:46:38
1. Module里面的所有subprogram在用的时候是不需要interface的。比如在MODULE B中要用module A里的所有子程序,只需要在MODULE B中写上USE A就行了,不需要INTERFACE。因为,一定程度上,可以把MODULE中的子程序当成 ...

谢谢  就是这样的  放在模块里就不用接口了
穷则独善其事,达则兼济天下
6楼2014-04-16 15:20:16
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学虫dj 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 16:52 by Z9YWQ5EAO3qp
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 16:45 by Z9YWQ5EAO3qp
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 cqwQDCxMcL3I 2026-09-29 4/200 2026-09-30 13:35 by C3vABopYbZJS
[教师之家] 某top大学教授说“能够在市场中兑现的能力才是真能力”无比同意! +10 zju2000 2026-09-26 13/650 2026-09-30 10:26 by yexuqing
[有机交流] 同一个分子,一条来自文献,一条来自AI——不告诉你答案,你会选哪条? +4 tianxiaoxian 2026-09-28 7/350 2026-09-30 08:34 by 88817753
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-09-29 19:27 by cqwQDCxMcL3I
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 ZYXdhzDAy9ZX 2026-09-28 4/200 2026-09-29 16:54 by yCO1Ll7aHtsw
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 ZYXdhzDAy9ZX 2026-09-28 4/200 2026-09-29 16:47 by yCO1Ll7aHtsw
[博后之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 16:30 by etmYJ6d2rquH
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 15:46 by etmYJ6d2rquH
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 15:04 by etmYJ6d2rquH
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 GDBe8tDZqE8z 2026-09-28 6/300 2026-09-29 14:41 by etmYJ6d2rquH
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 3/150 2026-09-29 14:24 by etmYJ6d2rquH
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 IDs3scOF0tjC 2026-09-28 6/300 2026-09-29 14:13 by etmYJ6d2rquH
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-29 09:59 by JzYBbHIXWSrW
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 GDBe8tDZqE8z 2026-09-28 4/200 2026-09-29 09:49 by JzYBbHIXWSrW
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-28 23:12 by b8fCuTHqckEt
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 5/250 2026-09-28 22:32 by ez6fGg9abYaj
信息提示
请填处理意见