【发布时间】:2026-02-11 17:10:02
【问题描述】:
我正在尝试用 Fortran 编写一个非常简单的函数(第一次使用):
program Main
implicit none
integer function k(n)
integer, intent(in) :: n
k=n
end function k
end program Main
我收到一堆错误:
integer function k(n)
1
Error: Syntax error in data declaration at (1)
integer, intent(in) :: n
1
Error: Unexpected data declaration statement at (1)
end function k
1
Error: Expecting END PROGRAM statement at (1)
k=n
1
Error: Symbol ‘k’ at (1) has no IMPLICIT type
k=n
1
Error: Symbol ‘n’ at (1) has no IMPLICIT type
我做错了什么?我正在使用最新版本的 gfortran。
【问题讨论】:
-
您能否提供一些有关您如何编译以及您正在使用的编译器的确切版本(最新可能意味着很多不同的东西)等的详细信息?我猜你需要
gfortran -c file.f90而不是gfortran file.f90或者你应该提供minimal reproducible example。 -
我正在使用 gfortran file.f90。我现在也尝试添加-c,但没有用。我的编译器是 gfortran 6.1。埃尔卡皮坦。
-
您的文件是否仅包含您在问题中所写的内容,或者还有更多内容?如果还有更多内容,您可以提供(或最小版本),因为我可以毫无问题地编译上述内容。
-
这就是:程序 Main 隐式无整数函数 k(n) 整数,intent(in) :: n k=n end function k end program Main