管理我有一个问题,希望不会影响我的数值计算用Fortran 90如何在Fortran 90的
事情数值类型是我声明
Real(r8), Allocatable :: matKBody(:)
由数组我手,初始化这样的数组我做它像
allocate(matKBody(1:Nk), STAT=ierr)
If (ierr /= 0) Stop
matKBody(:) = (0.0_r8, 0.0_r8)
这是一种方法来初始化复杂的数组。我注意到这个错误,但我很惊讶 而不致'牛逼不管我初始化这样数组或使用'正确'声明:
matKBody(:) = 0.0_r8
...
... ! Do some stuff with the array
...
Deallocate(matKBody, STAT=ierr)
If (ierr /= 0) Stop
如果我打印两个数组他们给我正确的初始化,即既初始化 实数。
为什么fortran(或编译器)不知道这种类型的东西? (我用ifort编译)。
您需要分配使用'ALLOCATE()'函数分配数组。 – ja72
什么错误?目前还不清楚你在问什么。 – ja72
我添加了一个更简洁的使用数组的处理。 错误是该数组被声明为真实的,但我可以初始化为一个复数或实数,而 问题是为什么这是有效的。 – user2820579