Fortran Coder

查看: 53|回复: 3

[子程序] error #6631: A non-optional actual argument must be present when invoking a ...

[复制链接]

2

帖子

1

主题

0

精华

新人

F 币
14 元
贡献
6 点
发表于 2023-1-16 20:56:34 | 显示全部楼层 |阅读模式
主程序中CALL emb_2d_bc_4node(nx1,nx2,ny1,ny2,locatbg,nf)
子程序做成用了静态库
SUBROUTINE emb_2d_bc_4node(nx1,nx2,ny1,ny2,locatbg,nf)

IMPLICIT NONE
INTEGER,INTENT(IN)::nx1,nx2,ny1,ny2,locatbg(:,:)
INTEGER,INTENT(OUT)::nf(:,:)
INTEGER::nm,ic,i,j,nye,i1,i2,i3,m,n,p,it
报错如下
error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface.   [NN]
error #7978: Required interface for passing assumed shape array is missing from original source.   [LOCATBG]
error #7978: Required interface for passing assumed shape array is missing from original source.   [NF]

651

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
391 元
贡献
192 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

发表于 2023-1-16 21:23:02 | 显示全部楼层
本帖最后由 楚香饭 于 2023-1-16 21:24 编辑

1. 把函数都放在module里。
2. 手动写上 interface。
任选一种

2

帖子

1

主题

0

精华

新人

F 币
14 元
贡献
6 点
 楼主| 发表于 2023-1-16 21:46:18 | 显示全部楼层
楚香饭 发表于 2023-1-16 21:23
1. 把函数都放在module里。
2. 手动写上 interface。
任选一种

感谢,感谢。制成了静态库不知为什么调用不了,单独use了一下可以了。但是error 6631还是有

651

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
391 元
贡献
192 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

发表于 2023-1-17 07:58:28 | 显示全部楼层
error #6631: A non-optional actual argument must be present when invoking a procedure with an explicit interface.   [NN]

这说明时 NN 参数有问题(缺少NN虚参对应的实参),但是你给出的代码片段里并没有 NN,找找是不是别的代码段的问题?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2023-2-4 16:25

Powered by Tencent X3.4

© 2013-2023 Tencent

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