MODULE module_slvr
!*****************************************************************************80
!
USE module_defi_array, only : ncv
IMPLICIT NONE
REAL(kind=DBL), DIMENSION(2,2,ncv) :: ma
CONTAINS
由于编译器编译的时候size的大小是未知的,所以就会报出以上错误,可以将数组大小的变量定义为parameter即可
……
这与C++中其实是一样的
MODULE module_defi_array
Integer,Parameter :: ncv=2
End MODULE module_defi_array
!*****************************************************************************!
MODULE module_slvr
USE module_defi_array, only : ncv
IMPLICIT NONE
REAL(kind=8), DIMENSION(2,2,ncv) :: ma
CONTAINS
End MODULE module_slvr
!*****************************************************************************!
Program www_fcode_cn
Use module_slvr
Implicit None
End Program www_fcode_cn
aliouying 发表于 2014-10-10 09:44
编译毫无问题啊~
[mw_shl_code=fortran,true] MODULE module_defi_array
aliouying 发表于 2014-10-10 09:44
编译毫无问题啊~
[Fortran] 纯文本查看 复制代码MODULE module_defi_array
[mw_shl_code=fortran,true] MODULE module_defi_array
Integer :: ncv=2 !此处没有声明为有名常数
End MODULE module_defi_array
!*****************************************************************************!
MODULE module_slvr
USE module_defi_array, only : ncv
IMPLICIT NONE
REAL(kind=8), DIMENSION(2,2,ncv) :: ma
CONTAINS
End MODULE module_slvr
!*****************************************************************************!
Program www_fcode_cn
Use module_slvr
Implicit None
End Program www_fcode_cn
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |