我刚刚将.f更改为.f90并在我的Mac(OSX 10.7)上使用gfortran编译,发现它在以下行上编译失败:
PartPos(1:3,1+nstart:nstart+npart(1))= pos(1:3, 1 + npart(0)):sum(npart(0:1)))
进一步分配和定义:
real*4,allocatable :: PartPos(:,:)
...
allocate(PartPos(1:3, 1:Ntot))
所以应该运行正常。当我注释掉第一行时,代码编译得很好。我的理解是,两者之间的唯一区别是格式化(这可能会影响我)。有人能告诉我我错过了什么。对不起,我是Fortran的新手,在我来这里之前已经有很长一段时间寻找解决方案了。提前谢谢。
我的(有点无用)错误输出:
PartPos(1:3,1+nstart:nstart+npart(1))= pos(1:3, 1 + npart(0)):sum(npart(0
1
Error: Unclassifiable statement at (1)
使用编译:
>> gfortran program_test.f90 -o program_test
答案 0 :(得分:2)
您的RHS似乎缺少括号[我看到4“(”和5“)”]。