感觉有了这个论坛,省去了大量时间,国内fortran讨论的论坛实在是少之又少啊。今天又碰到一个问题,麻烦大家帮助解答下:
我想把一个fortran77的程序转成fortran90,其中fortran77按照如下定义了一个函数
[Fortran] 纯文本查看 复制代码
SUBROUTINE OTA(A, B, C, D, E, F, GGGG, TTTT)
DIMENSION GGGG(*), TTTT(*)
。。。。
END
初学,不太清楚 GGGG(*), TTTT(*)表达的确切含义,猜测应当是长度任意的一维数组的意思吧。
现在我在调用这个函数,前面函数没做修改
[Fortran] 纯文本查看 复制代码 subroutine caller(A, B, C, D, E, F, GGGG, TTTT,....)
integer A,...
REAL B(A)...
integer GGGG(2*A+B)
I1=2*B+1
call OTA(A, B, C, D, E, F, GGGG, TTTT(I1))end 结果显示
error #6633: The type of the actual argument differs from the type of the dummy argument. 【GGGG】
请问怎么改才能通过? ... ....
|