0

我正在使用带有 intel fortran 编译器 (10.1.025) 的 Visual Studio 2008。

在我的程序中,我有一个子程序 solvemgmt()

subroutine solvemgmt()
use precision
use data_global
use lib_interface
implicit none

integer     :: m           
integer     :: p1          
integer     :: c1          
integer     :: c2          
integer     :: g1          
integer     :: g2          
integer     :: t1          
integer     :: t2          
real(iwp)   :: ptime = 0.0 

real(iwp), allocatable  :: t1xfree(:,:,:) ! *** Break point 1 ***
real(iwp), allocatable  :: t1force(:,:)
real(iwp), allocatable  :: t2xfree(:,:,:)
real(iwp), allocatable  :: t2force(:,:)
real(iwp), allocatable  :: t2f(:,:)
real(iwp), allocatable  :: jfres(:,:)
real(iwp), allocatable  :: intfr(:,:)

m  = gdtratio
p1 = 1
g1 = gpair(p1)%gfid(1)
g2 = gpair(p1)%gfid(2)
t1 = gpair(p1)%tfid(1)
t2 = gpair(p1)%tfid(2)

allocate(t1xfree(0:gparam(t1)%neq,3,m))
allocate(t1force(0:gparam(t1)%neq,0:m))
allocate(t2xfree(0:gparam(t2)%neq,3,m))
allocate(t2force(0:gparam(t2)%neq,0:m))
allocate(t2f(0:gparam(t2)%neq,3))
allocate(jfres(0:gparam(t1)%neq,m))
allocate(intfr(gpair(p1)%lmn*gpair(p1)%lmnodof,m))

:  ! *** Break point 2 ***
:
:

return
end subroutine solvemgmt

在调试时,在断点 1 时,

    T2XFREE  Undefined pointer/array    REAL(8) 
    T2F  Undefined address  REAL(8) 
    INTFR    Undefined address  REAL(8) 
    T2FORCE  Undefined address  REAL(8) 
    JFRES    Undefined address  REAL(8) 
    T1FORCE  Undefined address  REAL(8) 
    T1XFREE  Undefined pointer/array    REAL(8) 

在断点 2 时,

    T2XFREE {...}   REAL(8) 
    T2F  Undefined pointer/array    REAL(8) 
    INTFR    Undefined pointer/array    REAL(8) 
    T2FORCE  Undefined pointer/array    REAL(8) 
    JFRES    Undefined pointer/array    REAL(8) 
    T1FORCE  Undefined pointer/array    REAL(8) 
    T1XFREE {...}   REAL(8) 

我不明白为什么 T2F、INTFR、T2FORCE、JFRES 和 T1FORCE 显示为未定义地址,然后显示为未定义指针/数组。

4

0 回答 0