|
本帖最后由 kyra 于 2020-8-11 08:45 编辑
编译器在 generic name 中选择合适的interface procedure 调用。发生在编译时,而不是发生在运行时。
只有编译时能确定的区别,才能使用 generic name 重载。比如参数的类型,精度,数组维度,参数的个数,顺序。
而数组的大小,以及变量的值。在编译时无法确定。
比如
read(*,*) i , j
call test2( a(i:j) )
编译时无法确定 a 的大小。
顺带一提:你在m_haha里写了 implicit none ,那么这个module下面contains的procedure(test2 , test3)就不需要再写 implicit none 了。
|
|