In Fortran 90, è possibile sovraccaricare le funzioni con un'interfaccia. Tuttavia, in base a this site, non possiamo definire queste funzioni con lo stesso nome di argomenti. Con gfortran, non sembra essere un problema in quanto il codice seguente funziona abbastanza bene:Funzioni di sovraccarico con Fortran
interface check
module procedure check_int, check_real
end interface
contains
subroutine check_int(cur, dname, func_name, fname)
integer, allocatable, intent(in) :: cur(:)
character(*) :: dname, func_name, fname
...
end subroutine
subroutine check_real(cur, dname, func_name, fname)
real, allocatable, intent(in) :: cur(:)
character(*) :: dname, func_name, fname
...
end subroutine
Quindi, è cattiva pratica di farlo?
Modifica: Chiamare la funzione con parole chiave non cambia nulla.
Non l'ho visto così. Grazie :) –