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