不同指针类型的通用接口

时间:2019-05-20 10:29:59

标签: fortran intel-fortran generic-interface

我有以下

 program main 

 implicit none 


 real, pointer :: x1 
 real, pointer, contiguous :: x2(:) 
 integer, pointer :: x1int 
 integer, pointer, contiguous :: x2int(:) 

 interface 
 module procedure flt_1, flt_n, int_1, int_n 
 end interface 


 contains 

 function flt_1 
 real, pointer :: flt_1 

 print*, "flt_1
 end function

 function int_1 
 real, pointer :: int_1 

 print*, "int_1"
 end function

 function flt_n 
 real, contiguous, pointer :: flt_n(:)

 print*, "flt_n
 end function

 function int_n 
 integer, contiguous, pointer :: int_n(:)

 print*, "int_n
 end function
 end program

这不起作用。编译器说这些功能无法区分。我想我知道它不能区分何时输出是指针。它不能区分是否是整数指针,浮点数(包括数组)与否。

有人有替代解决方案吗?我当时正在考虑使用class(*),但是可以使用real pointer功能来分辨是integer pointer还是class is

0 个答案:

没有答案