fortran数组未定义的地址

时间:2013-06-25 22:36:46

标签: visual-studio-2008 fortran undefined fortran90 intel-fortran

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

在我的程序中,我有一个子程序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显示为未定义的地址,然后显示为未定义的指针/数组。

0 个答案:

没有答案