我有以下
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