我有以下代码结构:
PROGRAM main
IMPLICIT NONE
REAL*8, DIMENSION(:), ALLOCATABLE :: var
ALLOCATE(var(3))
var(1) = 1.0d0
var(2) = 2.0d0
var(3) = 3.0d0
CALL f1(var, f2)
CONTAINS
SUBROUTINE f1(arg_in, fun)
REAL*8, DIMENSION(:), INTENT(IN) :: arg_in
EXTERNAL fun
PRINT *, arg_in
CALL fun(arg_in)
PRINT *, arg_in
END SUBROUTINE f1
SUBROUTINE f2(arg_in)
REAL*8, DIMENSION(:), INTENT(INOUT) :: arg_in
PRINT *, SIZE(arg_in)
arg_in = 2.0d0 * arg_in
RETURN
END SUBROUTINE f2
END PROGRAM main
执行程序时,我注意到函数 f2 中数组的大小为 0。在我的实际程序中,我遇到了同样的问题,尽管与上面的简单程序相比,我收到了一条错误消息:
当指针 F 未与目标关联时尝试使用它
谁能提示可能是什么问题?