gfortran linux 中 (1) 处的不可分类语句

Unclassifiable statement at (1) in gfortran linux

我是 Linux(Ubuntu) 的初级 Fortran 程序员。我在 Windows 中使用 Intel Visual Fortran 编写了 运行 代码,但是当我尝试在 Linux 中使用 gfortran 编译此代码时,出现此错误:

Error: Unclassifiable statement at (1)

我的代码是:

    module mesh
     type::meshreader
      private
      integer::NF
      integer::y
      contains
      procedure , public :: getNF
      end type
      contains
      function getNF(this)    
      class(meshreader) :: this
       integer :: getNF
        getNF = this.NF
        end function
        end module

     Implicit None

      print*, 'Hello'
        End 

我认为gfortran不可能知道这行代码:getNF = this.NF。 谁能帮我解决这个问题?

Fortran 中的结构组件不是使用点选择而是使用 % (this%NF)。

点符号仅由某些编译器提供作为扩展,但它是高度不标准的。我建议避免它。

% 字符的用途总结在 What does "%" mean / do in Fortran?