0
我使用Intel Visual Fortran。我正在处理的问题有许多参数,我希望避免在每个例程开始时重复声明和启动它们。使用模块在Fortran中初始化
有什么办法可以使用MODULES初始化这些参数吗?
当然,答案是肯定的,但是一些内在函数在启动语句中不被接受。
这是一个简单的示例代码,
MODULE mod
IMPLICIT NONE
REAL, PARAMETER :: x = SQRT (4)
END MODULE
PROGRAM prog
USE mod
IMPLICIT NONE
PRINT *, x
END PROGRAM
一旦编译,编译器显示我这个错误:
Error #6362: The data types of the argument(s) are invalid.
[SQRT] Source1.f90
虽然使用ABS ()
后面没有这个错误,但SIN ()
确实。
上帝!多么愚蠢的问题!对不起,感谢您的及时回复。 – Shaqpad
我认为在这种情况下,你可以指责英特尔编译器错误。它恰好在gfortran中更加明确:)。 –
在生产代码中,应该定义一个带有KIND的REAL。 – Fortranner