Fortran Coder

查看: 286|回复: 3

[子程序] Fortran subroutine命名出现的错误

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
9 点
发表于 2021-8-21 12:07:35 | 显示全部楼层 |阅读模式
如下简单的程序:
[Fortran] 纯文本查看 复制代码
program ggg
        implicit none
        integer a,b,d
        a=3
        b=4
        
        call sub1(a,b,d)
        
        write(*,*),d
        
        stop
        end program ggg
        
        subroutine sub1(a,b,c)
        integer a,b,c
        c=a+b
        return
        end subroutine sub1

如果subroutine命名为"plus1"可以编译成功,但如果是"plus"或者"sub1"这样的名字会提示编译错误:
The number of actual arguments cannot be greater than the number of dummy arguments.
请问这是什么原因?



回复

使用道具 举报

626

帖子

1

主题

0

精华

大宗师

F 币
3117 元
贡献
1951 点
发表于 2021-8-21 15:05:22 | 显示全部楼层
代码没问题。清理项目,重新编译。

2

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
9 点
 楼主| 发表于 2021-8-22 16:39:09 | 显示全部楼层
换了个项目就成功了,非常感谢
您知道是什么原因吗

1622

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1970 元
贡献
1248 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2021-8-23 08:19:35 | 显示全部楼层
这大概是操作问题,比如设置了某些不合理的工程属性。未合适的清理项目。

由于完全不知道你使用什么环境,什么操作系统,IDE,编译器。所以只能这么无脑的瞎猜测。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-9-24 08:29

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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