我正在学习Fortran。我正在关注史蒂文的破折号的95/2003书。我试图在mod文件中使用这两个函数,而不是在主程序中使用它,但这给了我错误。
错误#6401:此名称的属性与USE语句可访问的属性冲突。[Y]
错误#6401:此名称的属性与USE语句可访问的属性冲突。[TAB]
module mymods
implicit none
!====================== Shared Data ==========================
real*8, parameter :: pi = 3.1415926535897932_8
real*8, parameter :: ge = 9.8066500000000000_8, gc = 6.67408d-11
!==================== Subroutines ============================
contains
real function y(p)
implicit none
real, intent(in) :: p
y= p+5.0
end function y
real function tab(t,n)
implicit none
real, intent(in) :: t
real, external :: n
tab = n(t)+t
end function tab
subroutine print_m(a)
real, intent(in) :: a
print*,a
end subroutine
end module mymods
程序:
program test
use mymods
implicit none
real :: a
real, external :: y
real :: tab
a = 2.5
call print_m(a)
a = tab (15.5,y)
call print_m(a)
end program test
我是fortran的新手。如果我使用程序中的函数它可以正常工作 但如果我用它作为模块它不起作用。