Fortran呼叫错误

时间:2016-08-17 07:32:40

标签: fortran

在我的Fortran代码中,我有命令:

CALL EXPECTATION(X, 0.5D0*SIGMAZ, Z_EXPECTATION)
WRITE(1,*) T, Z_EXPECTATION

CALL EXPECTATION(X, 0.5D0*SIGMAY, Y_EXPECTATION)
WRITE(4,*) T, Y_EXPECTATION

我得到了错误:

Error: Symbol ‘sigmay’ at (1) has no IMPLICIT type

Error: Symbol ‘sigmaz’ at (1) has no IMPLICIT type

但是我没有得到类似命令的错误:

CALL EXPECTATION(X, 0.5D0*SIGMAX, X_EXPECTATION)
WRITE(3,*) T, X_EXPECTATION

可能是什么问题?我从同一个子程序调用变量,并将它们定义为

COMPLEX*16, DIMENSION(2,2) :: SIGMAX, SIGMAY SIGMAZ

1 个答案:

答案 0 :(得分:1)

您在SIGMAYSIGMAZ之间的声明中忘记了逗号。 由于Fortran并不关心空格,因此它只创建了两个复杂的变量:SIGMAXSIGMAYSIGMAZ

只需添加逗号,您的代码就可以正常编译。