Fortran Coder

标题: 遇到the corresponding dummy argument shall be scalar [打印本页]

作者: 灯火辉煌    时间: 2016-5-23 11:19
标题: 遇到the corresponding dummy argument shall be scalar
[Fortran] 纯文本查看 复制代码
!*****节点应变的有限元计算,该程序参考曾攀的《有限元分析及应用》中的有限元程序编得,
!******理论基础可见于曾攀的《有限元分析及应用》与王勖成的《应用有限单元法》等。
Subroutine disp(x, y, mel, ak, stsmel, ijku)
!*****MEL 单元节点编号数组,X,Y 节点坐标数组,AK 整体刚度矩阵,JR 节点约束信息,P 节点载荷
!*****IJKU STSMEL 单元应变,STSNP 节点应变
  Dimension mel(5000, 3), x(5000), y(5000), u(5000, 3), p(5000, 3), ijku(5000, 3), ren(5000), ak(5000, 5000), stsmel(5000, 3), stsnp(5000, 3), jr(5000, 3)
  Common /ca/np, ne, nr, nl, band, ndof
  Common /cb/c11, c12, c44, q11, q12, q44
  Common /cc/n, m, time, h, hx, hy
!*****计算节点载荷
  Call form(nload, mel, x, y, resul, ae)
!*****处理边界条件
  Call dobc(ijku, ak, resul)
!*****计算节点位移
  Call slove(ak, resul)
!*****计算单元与节点应变
  Call calsts(mel, x, y, resul, stsnd)
  Return
End Subroutine disp

错误        1         error #7836: If the actual argument is scalar, the corresponding dummy argument shall be scalar unless the actual argument is an element of an array that is not an assumed-shape or pointer array, or a substring of such an element.   [RESUL]        d:\documents\visual studio 2010\Projects\Console4\Console4\disp.f90        17        
错误        2         error #7836: If the actual argument is scalar, the corresponding dummy argument shall be scalar unless the actual argument is an element of an array that is not an assumed-shape or pointer array, or a substring of such an element.   [STSND]        d:\documents\visual studio 2010\Projects\Console4\Console4\disp.f90        17        
错误        3        Compilation Aborted (code 1)        d:\documents\visual studio 2010\Projects\Console4\Console4\disp.f90        1        



作者: li913    时间: 2016-5-23 17:46
参数不匹配。实参是标量,形参是数组。
作者: 灯火辉煌    时间: 2016-5-23 18:04
li913 发表于 2016-5-23 17:46
参数不匹配。实参是标量,形参是数组。

怎么解决呀,大神
作者: fcode    时间: 2016-5-23 22:19
如果你确实需要数组做虚参,那么把实参改成数组。
如果你只需要单变量做虚参,那么把虚参改成单变量。

总之,两者要匹配。
作者: 灯火辉煌    时间: 2016-5-24 08:02
fcode 发表于 2016-5-23 22:19
如果你确实需要数组做虚参,那么把实参改成数组。
如果你只需要单变量做虚参,那么把虚参改成单变量。

谢谢,已经解决




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2