主题:初始化赋值的问题
在一个module文件中有这样一行
real(8) :: DF(1:3) = (/2.2d-5, 2.19d-5, kappa*epsilon**(1.d0 + tau)/)
其中kappa,epsilon,tau这些变量前面都定义过了。用gfortran,ifort编译该文件都没有问题,但sun的f90和95通不过,显示如下错误:
DF(1:3) = (/2.2d-5, 2.19d-5, kappa*epsilon**(1.d0 + tau)/) ,&
^
"parameters.f03", Line = 10, Column = 42: ERROR: All ac-value expressions in an array constructor must have the same type and type parameters.
^
"parameters.f03", Line = 10, Column = 58: ERROR: The exponent in a constant initialization expression must be type integer.
这个用法好像是03标准才开始支持,我用gfortran -std=f95同样会出现后一个错误。也许说明sun的编译器还没有全部支持03特性?请问怎样修改这个变量定义可以避免这样的错误?
多谢各位
real(8) :: DF(1:3) = (/2.2d-5, 2.19d-5, kappa*epsilon**(1.d0 + tau)/)
其中kappa,epsilon,tau这些变量前面都定义过了。用gfortran,ifort编译该文件都没有问题,但sun的f90和95通不过,显示如下错误:
DF(1:3) = (/2.2d-5, 2.19d-5, kappa*epsilon**(1.d0 + tau)/) ,&
^
"parameters.f03", Line = 10, Column = 42: ERROR: All ac-value expressions in an array constructor must have the same type and type parameters.
^
"parameters.f03", Line = 10, Column = 58: ERROR: The exponent in a constant initialization expression must be type integer.
这个用法好像是03标准才开始支持,我用gfortran -std=f95同样会出现后一个错误。也许说明sun的编译器还没有全部支持03特性?请问怎样修改这个变量定义可以避免这样的错误?
多谢各位