.f到.f90错误导致'(1)'的'不可分类声明'?

时间:2012-11-27 04:30:31

标签: macos formatting fortran gfortran

我刚刚将.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

1 个答案:

答案 0 :(得分:2)

您的RHS似乎缺少括号[我看到4“(”和5“)”]。