在我的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
請顯示一個更完整(但很小)的例子來重現錯誤。見[mcve]。 – francescalus
請注意您的聲明似乎缺少一個逗號,這是這裏還是源代碼中的一個錯字? –
並遵循d_1999的評論:您是否使用固定形式的源代碼?在那裏,這個聲明中的空格被忽略(所以你將會有一個名爲'sigmaysigmaz'的變量)。 – francescalus