如何在Fortran中为自定义函数分配自定义运算符

时间:2017-05-03 21:01:10

标签: interface fortran operator-overloading

我在Visual Studio 2012中使用英特尔Visual Fortran 2015.我想以最简单的方式为内部函数创建运算符重载。

这是我尝试的但是它给出了一个错误,虽然我理解错误说我不能这样做但我不能想到一个优雅的方法来做到这一点而不必创建多个重载函数称之为内在并以这种方式行事。

有没有比这更简单的方法?

Program main
  implicit none

  interface operator (.matmul.)
    procedure matmul
  end interface

  real*8, dimension(3,3) :: a, b, c

  c = a .matmul. b

  write(*,*) c

end program main

错误消息是:

  

错误#8574:通用接口块中的过程名必须是具有显式接口的非本征过程。 [MATMUL]

0 个答案:

没有答案