1

是否可以使用接口块重载子程序和函数?因此可以通过函数或子例程调用过程。例如:

...
interface TestRoutine
      module procedure TestRoutine_fun
      module procedure TestRoutine_sub
end interface TestRoutine

Contains

function TestRoutine_fun(....) result(...)
...
end function TestRoutine_fun

subroutine TestRoutine_sub(...)
...
end subroutine TestRoutine_sub
...

当我尝试编译与此类似的代码时,出现错误:错误:在 (1) 处的通用接口“TestRoutine”中,过程必须是所有子程序或所有函数。提前致谢!

4

2 回答 2

5

不,不是标准语言。错误消息正确地解释了这种情况。

于 2013-09-06T01:10:51.080 回答
2

您不能使用子例程重载函数。但是,您可以做的是编写一个调用该函数的包装例程(或相反)。这样,您至少可以节省一些代码。

于 2013-09-06T11:41:03.063 回答