我正在使用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显示为未定义的地址,然后显示为未定义的指针/数组。